Fix problem where queue delegate would not be alerted when the request received response headers
Add test for same
Showing
4 changed files
with
15 additions
and
2 deletions
| @@ -23,7 +23,7 @@ | @@ -23,7 +23,7 @@ | ||
| 23 | 23 | ||
| 24 | 24 | ||
| 25 | // Automatically set on build | 25 | // Automatically set on build |
| 26 | -NSString *ASIHTTPRequestVersion = @"v1.6.2-4 2010-04-19"; | 26 | +NSString *ASIHTTPRequestVersion = @"v1.6.2-7 2010-05-01"; |
| 27 | 27 | ||
| 28 | NSString* const NetworkRequestErrorDomain = @"ASIHTTPRequestErrorDomain"; | 28 | NSString* const NetworkRequestErrorDomain = @"ASIHTTPRequestErrorDomain"; |
| 29 | 29 |
| @@ -201,7 +201,7 @@ | @@ -201,7 +201,7 @@ | ||
| 201 | } | 201 | } |
| 202 | } | 202 | } |
| 203 | 203 | ||
| 204 | -- (void)requestDidReceiveResponseHeaders:(ASIHTTPRequest *)request | 204 | +- (void)requestReceivedResponseHeaders:(ASIHTTPRequest *)request |
| 205 | { | 205 | { |
| 206 | if ([self requestDidReceiveResponseHeadersSelector]) { | 206 | if ([self requestDidReceiveResponseHeadersSelector]) { |
| 207 | [[self delegate] performSelector:[self requestDidReceiveResponseHeadersSelector] withObject:request]; | 207 | [[self delegate] performSelector:[self requestDidReceiveResponseHeadersSelector] withObject:request]; |
| @@ -63,6 +63,7 @@ IMPORTANT | @@ -63,6 +63,7 @@ IMPORTANT | ||
| 63 | [networkQueue setDelegate:self]; | 63 | [networkQueue setDelegate:self]; |
| 64 | [networkQueue setRequestDidStartSelector:@selector(delegateTestStarted:)]; | 64 | [networkQueue setRequestDidStartSelector:@selector(delegateTestStarted:)]; |
| 65 | [networkQueue setRequestDidFinishSelector:@selector(delegateTestFinished:)]; | 65 | [networkQueue setRequestDidFinishSelector:@selector(delegateTestFinished:)]; |
| 66 | + [networkQueue setRequestDidReceiveResponseHeadersSelector:@selector(delegateTestResponseHeaders:)]; | ||
| 66 | 67 | ||
| 67 | ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://allseeing-i.com"]]; | 68 | ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://allseeing-i.com"]]; |
| 68 | [networkQueue addOperation:request]; | 69 | [networkQueue addOperation:request]; |
| @@ -70,7 +71,10 @@ IMPORTANT | @@ -70,7 +71,10 @@ IMPORTANT | ||
| 70 | 71 | ||
| 71 | [networkQueue waitUntilAllOperationsAreFinished]; | 72 | [networkQueue waitUntilAllOperationsAreFinished]; |
| 72 | 73 | ||
| 74 | + [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]]; | ||
| 75 | + | ||
| 73 | GHAssertTrue(started,@"Failed to call the delegate method when the request started"); | 76 | GHAssertTrue(started,@"Failed to call the delegate method when the request started"); |
| 77 | + GHAssertTrue(receivedResponseHeaders,@"Failed to call the delegate method when the request received response headers"); | ||
| 74 | GHAssertTrue(finished,@"Failed to call the delegate method when the request finished"); | 78 | GHAssertTrue(finished,@"Failed to call the delegate method when the request finished"); |
| 75 | 79 | ||
| 76 | networkQueue = [ASINetworkQueue queue]; | 80 | networkQueue = [ASINetworkQueue queue]; |
| @@ -84,6 +88,8 @@ IMPORTANT | @@ -84,6 +88,8 @@ IMPORTANT | ||
| 84 | 88 | ||
| 85 | [networkQueue waitUntilAllOperationsAreFinished]; | 89 | [networkQueue waitUntilAllOperationsAreFinished]; |
| 86 | 90 | ||
| 91 | + [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]]; | ||
| 92 | + | ||
| 87 | GHAssertTrue(failed,@"Failed to call the delegate method when the request failed"); | 93 | GHAssertTrue(failed,@"Failed to call the delegate method when the request failed"); |
| 88 | 94 | ||
| 89 | } | 95 | } |
| @@ -93,6 +99,12 @@ IMPORTANT | @@ -93,6 +99,12 @@ IMPORTANT | ||
| 93 | started = YES; | 99 | started = YES; |
| 94 | } | 100 | } |
| 95 | 101 | ||
| 102 | +- (void)delegateTestResponseHeaders:(ASIHTTPRequest *)request | ||
| 103 | +{ | ||
| 104 | + GHAssertNotNil([request responseHeaders],@"Called delegateTestResponseHeaders: when we have no headers"); | ||
| 105 | + receivedResponseHeaders = YES; | ||
| 106 | +} | ||
| 107 | + | ||
| 96 | - (void)delegateTestFinished:(ASIHTTPRequest *)request | 108 | - (void)delegateTestFinished:(ASIHTTPRequest *)request |
| 97 | { | 109 | { |
| 98 | finished = YES; | 110 | finished = YES; |
-
Please register or login to post a comment