瀏覽代碼

Simpler version that avoid assertions.

Jeff Kelley 7 年之前
父節點
當前提交
67dd69e632
共有 2 個文件被更改,包括 11 次插入12 次删除
  1. 6 2
      AFNetworking/AFURLSessionManager.m
  2. 5 10
      Tests/Tests/AFURLSessionManagerTests.m

+ 6 - 2
AFNetworking/AFURLSessionManager.m

@@ -745,8 +745,12 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
             }
         }
     });
-
-    [self addDelegateForUploadTask:uploadTask progress:uploadProgressBlock completionHandler:completionHandler];
+    
+    if (uploadTask) {
+        [self addDelegateForUploadTask:uploadTask
+                              progress:uploadProgressBlock
+                     completionHandler:completionHandler];
+    }
 
     return uploadTask;
 }

+ 5 - 10
Tests/Tests/AFURLSessionManagerTests.m

@@ -140,17 +140,12 @@
     
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wnonnull"
-    __block NSURLSessionUploadTask *task = nil;
-    void (^test)(void) = ^{
-        task = [self.localManager uploadTaskWithRequest:[NSURLRequest requestWithURL:self.baseURL]
-                                                     fromFile:nil
-                                                     progress:NULL
-                                      completionHandler:NULL];
-    };
+    XCTAssertNil([self.localManager uploadTaskWithRequest:[NSURLRequest requestWithURL:self.baseURL]
+                                                 fromFile:nil
+                                                 progress:NULL
+                                        completionHandler:NULL],
+                 @"Upload task should be nil.");
 #pragma GCC diagnostic pop
-    
-    XCTAssertNoThrowSpecificNamed(test, NSException, NSInternalInconsistencyException);
-    XCTAssertNil(task, @"Upload task should be nil.");
 }
 
 - (void)testUploadTaskDoesReportProgress {