فهرست منبع

ParameterEncoding now earlies out when passed an empty parameters dictionary.

Anthony Miller 10 سال پیش
والد
کامیت
0e9761f8b2
2فایلهای تغییر یافته به همراه12 افزوده شده و 1 حذف شده
  1. 1 1
      Source/ParameterEncoding.swift
  2. 11 0
      Tests/ParameterEncodingTests.swift

+ 1 - 1
Source/ParameterEncoding.swift

@@ -82,7 +82,7 @@ public enum ParameterEncoding {
     {
         var mutableURLRequest = URLRequest.URLRequest
 
-        guard let parameters = parameters else {
+        guard let parameters = parameters where !parameters.isEmpty else {
             return (mutableURLRequest, nil)
         }
 

+ 11 - 0
Tests/ParameterEncodingTests.swift

@@ -43,6 +43,17 @@ class URLParameterEncodingTestCase: ParameterEncodingTestCase {
         // Then
         XCTAssertNil(URLRequest.URL?.query, "query should be nil")
     }
+    
+    func testURLParameterEncodeEmptyDictionaryParameter() {
+        // Given
+        let parameters: [String: AnyObject] = [:]
+        
+        // When
+        let (URLRequest, _) = encoding.encode(self.URLRequest, parameters: parameters)
+        
+        // Then
+        XCTAssertNil(URLRequest.URL?.query, "query should be nil")
+    }
 
     func testURLParameterEncodeOneStringKeyStringValueParameter() {
         // Given