Ben Copsey

Added a couple more unit tests for cookies, and added comments in cookie tests

@@ -120,6 +120,7 @@ More tests needed for: @@ -120,6 +120,7 @@ More tests needed for:
120 { 120 {
121 BOOL success; 121 BOOL success;
122 122
  123 + //Set setting a cookie
123 NSURL *url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/set_cookie"] autorelease]; 124 NSURL *url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/set_cookie"] autorelease];
124 ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease]; 125 ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
125 [request setUseCookiePersistance:YES]; 126 [request setUseCookiePersistance:YES];
@@ -128,9 +129,12 @@ More tests needed for: @@ -128,9 +129,12 @@ More tests needed for:
128 success = [html isEqualToString:@"I have set a cookie"]; 129 success = [html isEqualToString:@"I have set a cookie"];
129 STAssertTrue(success,@"Failed to set a cookie"); 130 STAssertTrue(success,@"Failed to set a cookie");
130 131
  132 + //Test a cookie is stored in responseCookies
131 NSArray *cookies = [request responseCookies]; 133 NSArray *cookies = [request responseCookies];
132 STAssertNotNil(cookies,@"Failed to store cookie data in responseCookies"); 134 STAssertNotNil(cookies,@"Failed to store cookie data in responseCookies");
133 135
  136 +
  137 + //Test the cookie contains the correct data
134 NSHTTPCookie *cookie = nil; 138 NSHTTPCookie *cookie = nil;
135 BOOL foundCookie = NO; 139 BOOL foundCookie = NO;
136 for (cookie in cookies) { 140 for (cookie in cookies) {
@@ -152,6 +156,7 @@ More tests needed for: @@ -152,6 +156,7 @@ More tests needed for:
152 return; 156 return;
153 } 157 }
154 158
  159 + //Test a cookie is presented when manually added to the request
155 url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/read_cookie"] autorelease]; 160 url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/read_cookie"] autorelease];
156 request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease]; 161 request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
157 [request setUseCookiePersistance:NO]; 162 [request setUseCookiePersistance:NO];
@@ -161,6 +166,7 @@ More tests needed for: @@ -161,6 +166,7 @@ More tests needed for:
161 success = [html isEqualToString:@"I have 'This is the value' as the value of 'ASIHTTPRequestTestCookie'"]; 166 success = [html isEqualToString:@"I have 'This is the value' as the value of 'ASIHTTPRequestTestCookie'"];
162 STAssertTrue(success,@"Cookie not presented to the server with cookie persistance OFF"); 167 STAssertTrue(success,@"Cookie not presented to the server with cookie persistance OFF");
163 168
  169 + //Test a cookie is presented from the persistent store
164 url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/read_cookie"] autorelease]; 170 url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/read_cookie"] autorelease];
165 request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease]; 171 request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
166 [request setUseCookiePersistance:YES]; 172 [request setUseCookiePersistance:YES];
@@ -169,6 +175,7 @@ More tests needed for: @@ -169,6 +175,7 @@ More tests needed for:
169 success = [html isEqualToString:@"I have 'This is the value' as the value of 'ASIHTTPRequestTestCookie'"]; 175 success = [html isEqualToString:@"I have 'This is the value' as the value of 'ASIHTTPRequestTestCookie'"];
170 STAssertTrue(success,@"Cookie not presented to the server with cookie persistance ON"); 176 STAssertTrue(success,@"Cookie not presented to the server with cookie persistance ON");
171 177
  178 + //Test removing a cookie
172 url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/remove_cookie"] autorelease]; 179 url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/remove_cookie"] autorelease];
173 request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease]; 180 request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
174 [request start]; 181 [request start];
@@ -176,6 +183,35 @@ More tests needed for: @@ -176,6 +183,35 @@ More tests needed for:
176 success = [html isEqualToString:@"I have removed a cookie"]; 183 success = [html isEqualToString:@"I have removed a cookie"];
177 STAssertTrue(success,@"Failed to remove a cookie"); 184 STAssertTrue(success,@"Failed to remove a cookie");
178 185
  186 + //Test making sure cookie was properly removed
  187 + url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/read_cookie"] autorelease];
  188 + request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
  189 + [request start];
  190 + html = [request dataString];
  191 + success = [html isEqualToString:@"No cookie exists"];
  192 + STAssertTrue(success,@"Cookie presented to the server when it should have been removed");
  193 +
  194 + //Test setting a custom cookie works
  195 + NSDictionary *cookieProperties = [[[NSMutableDictionary alloc] init] autorelease];
  196 + [cookieProperties setValue:@"Test Value" forKey:NSHTTPCookieValue];
  197 + [cookieProperties setValue:@"ASIHTTPRequestTestCookie" forKey:NSHTTPCookieName];
  198 + [cookieProperties setValue:@".allseeing-i.com" forKey:NSHTTPCookieDomain];
  199 + [cookieProperties setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCookieExpires];
  200 + [cookieProperties setValue:@"/asi-http-request/tests" forKey:NSHTTPCookiePath];
  201 + cookie = [[[NSHTTPCookie alloc] initWithProperties:cookieProperties] autorelease];
  202 +
  203 + url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/read_cookie"] autorelease];
  204 + request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
  205 + [request setUseCookiePersistance:NO];
  206 + [request setRequestCookies:[NSMutableArray arrayWithObject:cookie]];
  207 + [request start];
  208 + html = [request dataString];
  209 + success = [html isEqualToString:@"I have 'Test Value' as the value of 'ASIHTTPRequestTestCookie'"];
  210 + STAssertTrue(success,@"Custom cookie not presented to the server with cookie persistance OFF");
  211 +
  212 + //Test removing all cookies works
  213 + [ASIHTTPRequest clearSession];
  214 +
179 url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/read_cookie"] autorelease]; 215 url = [[[NSURL alloc] initWithString:@"http://allseeing-i.com/asi-http-request/tests/read_cookie"] autorelease];
180 request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease]; 216 request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
181 [request start]; 217 [request start];
@@ -279,8 +279,8 @@ @@ -279,8 +279,8 @@
279 <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> 279 <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
280 <array> 280 <array>
281 <array> 281 <array>
282 - <integer>11</integer> 282 + <integer>4</integer>
283 - <integer>5</integer> 283 + <integer>2</integer>
284 <integer>0</integer> 284 <integer>0</integer>
285 </array> 285 </array>
286 </array> 286 </array>
@@ -304,7 +304,7 @@ @@ -304,7 +304,7 @@
304 <real>312</real> 304 <real>312</real>
305 </array> 305 </array>
306 <key>RubberWindowFrame</key> 306 <key>RubberWindowFrame</key>
307 - <string>224 81 1432 976 0 0 1920 1178 </string> 307 + <string>268 202 1432 976 0 0 1920 1178 </string>
308 </dict> 308 </dict>
309 <key>Module</key> 309 <key>Module</key>
310 <string>PBXSmartGroupTreeModule</string> 310 <string>PBXSmartGroupTreeModule</string>
@@ -322,7 +322,7 @@ @@ -322,7 +322,7 @@
322 <key>PBXProjectModuleGUID</key> 322 <key>PBXProjectModuleGUID</key>
323 <string>1CE0B20306471E060097A5F4</string> 323 <string>1CE0B20306471E060097A5F4</string>
324 <key>PBXProjectModuleLabel</key> 324 <key>PBXProjectModuleLabel</key>
325 - <string>ASIHTTPRequest.m</string> 325 + <string>ASIHTTPRequestTests.m</string>
326 <key>PBXSplitModuleInNavigatorKey</key> 326 <key>PBXSplitModuleInNavigatorKey</key>
327 <dict> 327 <dict>
328 <key>Split0</key> 328 <key>Split0</key>
@@ -330,11 +330,11 @@ @@ -330,11 +330,11 @@
330 <key>PBXProjectModuleGUID</key> 330 <key>PBXProjectModuleGUID</key>
331 <string>1CE0B20406471E060097A5F4</string> 331 <string>1CE0B20406471E060097A5F4</string>
332 <key>PBXProjectModuleLabel</key> 332 <key>PBXProjectModuleLabel</key>
333 - <string>ASIHTTPRequest.m</string> 333 + <string>ASIHTTPRequestTests.m</string>
334 <key>_historyCapacity</key> 334 <key>_historyCapacity</key>
335 <integer>0</integer> 335 <integer>0</integer>
336 <key>bookmark</key> 336 <key>bookmark</key>
337 - <string>B5CF37350E7A8D040050CBA7</string> 337 + <string>B5CF37440E7A90E10050CBA7</string>
338 <key>history</key> 338 <key>history</key>
339 <array> 339 <array>
340 <string>B5731B8B0E4310180008024F</string> 340 <string>B5731B8B0E4310180008024F</string>
@@ -352,9 +352,9 @@ @@ -352,9 +352,9 @@
352 <string>B5CF37000E7A8C380050CBA7</string> 352 <string>B5CF37000E7A8C380050CBA7</string>
353 <string>B5CF37010E7A8C380050CBA7</string> 353 <string>B5CF37010E7A8C380050CBA7</string>
354 <string>B5CF37100E7A8C7F0050CBA7</string> 354 <string>B5CF37100E7A8C7F0050CBA7</string>
355 - <string>B5CF37110E7A8C7F0050CBA7</string>  
356 <string>B5CF37120E7A8C7F0050CBA7</string> 355 <string>B5CF37120E7A8C7F0050CBA7</string>
357 - <string>B5CF36FB0E7A8C380050CBA7</string> 356 + <string>B5CF37420E7A90E10050CBA7</string>
  357 + <string>B5CF37400E7A90320050CBA7</string>
358 </array> 358 </array>
359 <key>prevStack</key> 359 <key>prevStack</key>
360 <array> 360 <array>
@@ -456,6 +456,7 @@ @@ -456,6 +456,7 @@
456 <string>B5CF37130E7A8C7F0050CBA7</string> 456 <string>B5CF37130E7A8C7F0050CBA7</string>
457 <string>B5CF37140E7A8C7F0050CBA7</string> 457 <string>B5CF37140E7A8C7F0050CBA7</string>
458 <string>B5CF37150E7A8C7F0050CBA7</string> 458 <string>B5CF37150E7A8C7F0050CBA7</string>
  459 + <string>B5CF37430E7A90E10050CBA7</string>
459 </array> 460 </array>
460 </dict> 461 </dict>
461 <key>SplitCount</key> 462 <key>SplitCount</key>
@@ -469,7 +470,7 @@ @@ -469,7 +470,7 @@
469 <key>Frame</key> 470 <key>Frame</key>
470 <string>{{0, 0}, {1098, 836}}</string> 471 <string>{{0, 0}, {1098, 836}}</string>
471 <key>RubberWindowFrame</key> 472 <key>RubberWindowFrame</key>
472 - <string>224 81 1432 976 0 0 1920 1178 </string> 473 + <string>268 202 1432 976 0 0 1920 1178 </string>
473 </dict> 474 </dict>
474 <key>Module</key> 475 <key>Module</key>
475 <string>PBXNavigatorGroup</string> 476 <string>PBXNavigatorGroup</string>
@@ -489,7 +490,7 @@ @@ -489,7 +490,7 @@
489 <key>Frame</key> 490 <key>Frame</key>
490 <string>{{0, 841}, {1098, 94}}</string> 491 <string>{{0, 841}, {1098, 94}}</string>
491 <key>RubberWindowFrame</key> 492 <key>RubberWindowFrame</key>
492 - <string>224 81 1432 976 0 0 1920 1178 </string> 493 + <string>268 202 1432 976 0 0 1920 1178 </string>
493 </dict> 494 </dict>
494 <key>Module</key> 495 <key>Module</key>
495 <string>XCDetailModule</string> 496 <string>XCDetailModule</string>
@@ -658,7 +659,7 @@ @@ -658,7 +659,7 @@
658 <string>/Users/ben/asi-http-request/asi-http-request.xcodeproj</string> 659 <string>/Users/ben/asi-http-request/asi-http-request.xcodeproj</string>
659 </array> 660 </array>
660 <key>WindowString</key> 661 <key>WindowString</key>
661 - <string>224 81 1432 976 0 0 1920 1178 </string> 662 + <string>268 202 1432 976 0 0 1920 1178 </string>
662 <key>WindowToolsV3</key> 663 <key>WindowToolsV3</key>
663 <array> 664 <array>
664 <dict> 665 <dict>
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 8D1107260486CEB800E47090 /* asi-http-request */, 15 8D1107260486CEB800E47090 /* asi-http-request */,
16 ); 16 );
17 breakpoints = ( 17 breakpoints = (
18 - B5CF36D30E7A8A910050CBA7 /* ASIHTTPRequestTests.m:143 */, 18 + B5CF36D30E7A8A910050CBA7 /* ASIHTTPRequestTests.m:147 */,
19 ); 19 );
20 codeSenseManager = B5ABC7B60E24C52A0072F422 /* Code sense */; 20 codeSenseManager = B5ABC7B60E24C52A0072F422 /* Code sense */;
21 executables = ( 21 executables = (
@@ -380,6 +380,13 @@ @@ -380,6 +380,13 @@
380 B5CF371B0E7A8CC30050CBA7 /* PBXTextBookmark */ = B5CF371B0E7A8CC30050CBA7 /* PBXTextBookmark */; 380 B5CF371B0E7A8CC30050CBA7 /* PBXTextBookmark */ = B5CF371B0E7A8CC30050CBA7 /* PBXTextBookmark */;
381 B5CF372E0E7A8CEC0050CBA7 /* PBXTextBookmark */ = B5CF372E0E7A8CEC0050CBA7 /* PBXTextBookmark */; 381 B5CF372E0E7A8CEC0050CBA7 /* PBXTextBookmark */ = B5CF372E0E7A8CEC0050CBA7 /* PBXTextBookmark */;
382 B5CF37350E7A8D040050CBA7 /* PBXTextBookmark */ = B5CF37350E7A8D040050CBA7 /* PBXTextBookmark */; 382 B5CF37350E7A8D040050CBA7 /* PBXTextBookmark */ = B5CF37350E7A8D040050CBA7 /* PBXTextBookmark */;
  383 + B5CF373C0E7A8FF90050CBA7 /* PBXTextBookmark */ = B5CF373C0E7A8FF90050CBA7 /* PBXTextBookmark */;
  384 + B5CF373D0E7A8FF90050CBA7 /* PBXTextBookmark */ = B5CF373D0E7A8FF90050CBA7 /* PBXTextBookmark */;
  385 + B5CF37400E7A90320050CBA7 /* PBXTextBookmark */ = B5CF37400E7A90320050CBA7 /* PBXTextBookmark */;
  386 + B5CF37410E7A90320050CBA7 /* PBXTextBookmark */ = B5CF37410E7A90320050CBA7 /* PBXTextBookmark */;
  387 + B5CF37420E7A90E10050CBA7 /* PBXTextBookmark */ = B5CF37420E7A90E10050CBA7 /* PBXTextBookmark */;
  388 + B5CF37430E7A90E10050CBA7 /* PBXTextBookmark */ = B5CF37430E7A90E10050CBA7 /* PBXTextBookmark */;
  389 + B5CF37440E7A90E10050CBA7 /* PBXTextBookmark */ = B5CF37440E7A90E10050CBA7 /* PBXTextBookmark */;
383 B5F3B7370E43683600E001FD = B5F3B7370E43683600E001FD /* PBXTextBookmark */; 390 B5F3B7370E43683600E001FD = B5F3B7370E43683600E001FD /* PBXTextBookmark */;
384 B5F3B7390E43683600E001FD = B5F3B7390E43683600E001FD /* PBXTextBookmark */; 391 B5F3B7390E43683600E001FD = B5F3B7390E43683600E001FD /* PBXTextBookmark */;
385 }; 392 };
@@ -548,9 +555,9 @@ @@ -548,9 +555,9 @@
548 }; 555 };
549 B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */ = { 556 B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */ = {
550 uiCtxt = { 557 uiCtxt = {
551 - sepNavIntBoundsRect = "{{0, 0}, {1218, 2674}}"; 558 + sepNavIntBoundsRect = "{{0, 0}, {1164, 3192}}";
552 - sepNavSelRange = "{1971, 188}"; 559 + sepNavSelRange = "{4774, 0}";
553 - sepNavVisRange = "{1072, 1767}"; 560 + sepNavVisRange = "{6716, 3018}";
554 sepNavWindowFrame = "{{148, 98}, {1485, 874}}"; 561 sepNavWindowFrame = "{{148, 98}, {1485, 874}}";
555 }; 562 };
556 }; 563 };
@@ -762,9 +769,9 @@ @@ -762,9 +769,9 @@
762 }; 769 };
763 B5ABC7B90E24C5620072F422 /* ASIHTTPRequest.m */ = { 770 B5ABC7B90E24C5620072F422 /* ASIHTTPRequest.m */ = {
764 uiCtxt = { 771 uiCtxt = {
765 - sepNavIntBoundsRect = "{{0, 0}, {1680, 11858}}"; 772 + sepNavIntBoundsRect = "{{0, 0}, {1037, 11900}}";
766 sepNavSelRange = "{14904, 0}"; 773 sepNavSelRange = "{14904, 0}";
767 - sepNavVisRange = "{12494, 2255}"; 774 + sepNavVisRange = "{12494, 2251}";
768 sepNavWindowFrame = "{{759, 71}, {1475, 874}}"; 775 sepNavWindowFrame = "{{759, 71}, {1475, 874}}";
769 }; 776 };
770 }; 777 };
@@ -2523,7 +2530,7 @@ @@ -2523,7 +2530,7 @@
2523 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2530 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2524 name = "ASIHTTPRequestTests.m: 179"; 2531 name = "ASIHTTPRequestTests.m: 179";
2525 rLen = 0; 2532 rLen = 0;
2526 - rLoc = 7503; 2533 + rLoc = 7814;
2527 rType = 0; 2534 rType = 0;
2528 vrLen = 2507; 2535 vrLen = 2507;
2529 vrLoc = 5316; 2536 vrLoc = 5316;
@@ -2533,12 +2540,12 @@ @@ -2533,12 +2540,12 @@
2533 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2540 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2534 name = "ASIHTTPRequestTests.m: 179"; 2541 name = "ASIHTTPRequestTests.m: 179";
2535 rLen = 0; 2542 rLen = 0;
2536 - rLoc = 7503; 2543 + rLoc = 7814;
2537 rType = 0; 2544 rType = 0;
2538 vrLen = 2538; 2545 vrLen = 2538;
2539 vrLoc = 5285; 2546 vrLoc = 5285;
2540 }; 2547 };
2541 - B5CF36D30E7A8A910050CBA7 /* ASIHTTPRequestTests.m:143 */ = { 2548 + B5CF36D30E7A8A910050CBA7 /* ASIHTTPRequestTests.m:147 */ = {
2542 isa = PBXFileBreakpoint; 2549 isa = PBXFileBreakpoint;
2543 actions = ( 2550 actions = (
2544 ); 2551 );
@@ -2550,7 +2557,7 @@ @@ -2550,7 +2557,7 @@
2550 functionName = "-testCookies"; 2557 functionName = "-testCookies";
2551 hitCount = 0; 2558 hitCount = 0;
2552 ignoreCount = 0; 2559 ignoreCount = 0;
2553 - lineNumber = 143; 2560 + lineNumber = 147;
2554 location = Tests; 2561 location = Tests;
2555 modificationTime = 242912513.58; 2562 modificationTime = 242912513.58;
2556 state = 0; 2563 state = 0;
@@ -2560,7 +2567,7 @@ @@ -2560,7 +2567,7 @@
2560 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2567 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2561 name = "ASIHTTPRequestTests.m: 179"; 2568 name = "ASIHTTPRequestTests.m: 179";
2562 rLen = 0; 2569 rLen = 0;
2563 - rLoc = 7503; 2570 + rLoc = 7814;
2564 rType = 0; 2571 rType = 0;
2565 vrLen = 2661; 2572 vrLen = 2661;
2566 vrLoc = 5162; 2573 vrLoc = 5162;
@@ -2570,7 +2577,7 @@ @@ -2570,7 +2577,7 @@
2570 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2577 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2571 name = "ASIHTTPRequestTests.m: 179"; 2578 name = "ASIHTTPRequestTests.m: 179";
2572 rLen = 0; 2579 rLen = 0;
2573 - rLoc = 7503; 2580 + rLoc = 7814;
2574 rType = 0; 2581 rType = 0;
2575 vrLen = 2661; 2582 vrLen = 2661;
2576 vrLoc = 5162; 2583 vrLoc = 5162;
@@ -2580,7 +2587,7 @@ @@ -2580,7 +2587,7 @@
2580 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2587 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2581 name = "ASIHTTPRequestTests.m: 179"; 2588 name = "ASIHTTPRequestTests.m: 179";
2582 rLen = 0; 2589 rLen = 0;
2583 - rLoc = 7503; 2590 + rLoc = 7814;
2584 rType = 0; 2591 rType = 0;
2585 vrLen = 2803; 2592 vrLen = 2803;
2586 vrLoc = 4757; 2593 vrLoc = 4757;
@@ -2590,7 +2597,7 @@ @@ -2590,7 +2597,7 @@
2590 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2597 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2591 name = "ASIHTTPRequestTests.m: 179"; 2598 name = "ASIHTTPRequestTests.m: 179";
2592 rLen = 0; 2599 rLen = 0;
2593 - rLoc = 7503; 2600 + rLoc = 7814;
2594 rType = 0; 2601 rType = 0;
2595 vrLen = 2804; 2602 vrLen = 2804;
2596 vrLoc = 4757; 2603 vrLoc = 4757;
@@ -2600,7 +2607,7 @@ @@ -2600,7 +2607,7 @@
2600 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2607 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2601 name = "ASIHTTPRequestTests.m: 179"; 2608 name = "ASIHTTPRequestTests.m: 179";
2602 rLen = 0; 2609 rLen = 0;
2603 - rLoc = 7503; 2610 + rLoc = 7814;
2604 rType = 0; 2611 rType = 0;
2605 vrLen = 2804; 2612 vrLen = 2804;
2606 vrLoc = 4757; 2613 vrLoc = 4757;
@@ -2610,7 +2617,7 @@ @@ -2610,7 +2617,7 @@
2610 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2617 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2611 name = "ASIHTTPRequestTests.m: 179"; 2618 name = "ASIHTTPRequestTests.m: 179";
2612 rLen = 0; 2619 rLen = 0;
2613 - rLoc = 7503; 2620 + rLoc = 7814;
2614 rType = 0; 2621 rType = 0;
2615 vrLen = 2636; 2622 vrLen = 2636;
2616 vrLoc = 4757; 2623 vrLoc = 4757;
@@ -2630,7 +2637,7 @@ @@ -2630,7 +2637,7 @@
2630 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2637 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2631 name = "ASIHTTPRequestTests.m: 179"; 2638 name = "ASIHTTPRequestTests.m: 179";
2632 rLen = 0; 2639 rLen = 0;
2633 - rLoc = 7503; 2640 + rLoc = 7814;
2634 rType = 0; 2641 rType = 0;
2635 vrLen = 2636; 2642 vrLen = 2636;
2636 vrLoc = 4757; 2643 vrLoc = 4757;
@@ -2708,7 +2715,7 @@ @@ -2708,7 +2715,7 @@
2708 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */; 2715 fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
2709 name = "ASIHTTPRequestTests.m: 162"; 2716 name = "ASIHTTPRequestTests.m: 162";
2710 rLen = 90; 2717 rLen = 90;
2711 - rLoc = 6535; 2718 + rLoc = 6716;
2712 rType = 0; 2719 rType = 0;
2713 vrLen = 1609; 2720 vrLen = 1609;
2714 vrLoc = 5784; 2721 vrLoc = 5784;
@@ -3061,6 +3068,72 @@ @@ -3061,6 +3068,72 @@
3061 vrLen = 2255; 3068 vrLen = 2255;
3062 vrLoc = 12494; 3069 vrLoc = 12494;
3063 }; 3070 };
  3071 + B5CF373C0E7A8FF90050CBA7 /* PBXTextBookmark */ = {
  3072 + isa = PBXTextBookmark;
  3073 + comments = "error: -[ASIHTTPRequestTests testBasicDownload] : \"((error) != nil)\" should be true. Failed to generate an error for a bad host - this test may fail when your DNS server redirects you to another page when it can't find a domain name (eg OpenDNS)";
  3074 + fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
  3075 + rLen = 1;
  3076 + rLoc = 57;
  3077 + rType = 1;
  3078 + };
  3079 + B5CF373D0E7A8FF90050CBA7 /* PBXTextBookmark */ = {
  3080 + isa = PBXTextBookmark;
  3081 + fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
  3082 + name = "ASIHTTPRequestTests.m: 58";
  3083 + rLen = 188;
  3084 + rLoc = 1971;
  3085 + rType = 0;
  3086 + vrLen = 1767;
  3087 + vrLoc = 1072;
  3088 + };
  3089 + B5CF37400E7A90320050CBA7 /* PBXTextBookmark */ = {
  3090 + isa = PBXTextBookmark;
  3091 + comments = "error: -[ASIHTTPRequestTests testBasicDownload] : \"((error) != nil)\" should be true. Failed to generate an error for a bad host - this test may fail when your DNS server redirects you to another page when it can't find a domain name (eg OpenDNS)";
  3092 + fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
  3093 + rLen = 1;
  3094 + rLoc = 57;
  3095 + rType = 1;
  3096 + };
  3097 + B5CF37410E7A90320050CBA7 /* PBXTextBookmark */ = {
  3098 + isa = PBXTextBookmark;
  3099 + fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
  3100 + name = "ASIHTTPRequestTests.m: 58";
  3101 + rLen = 188;
  3102 + rLoc = 1971;
  3103 + rType = 0;
  3104 + vrLen = 1767;
  3105 + vrLoc = 1072;
  3106 + };
  3107 + B5CF37420E7A90E10050CBA7 /* PBXTextBookmark */ = {
  3108 + isa = PBXTextBookmark;
  3109 + fRef = B5ABC7B90E24C5620072F422 /* ASIHTTPRequest.m */;
  3110 + name = "ASIHTTPRequest.m: 456";
  3111 + rLen = 0;
  3112 + rLoc = 14904;
  3113 + rType = 0;
  3114 + vrLen = 2251;
  3115 + vrLoc = 12494;
  3116 + };
  3117 + B5CF37430E7A90E10050CBA7 /* PBXTextBookmark */ = {
  3118 + isa = PBXTextBookmark;
  3119 + fRef = B5ABC7B90E24C5620072F422 /* ASIHTTPRequest.m */;
  3120 + name = "ASIHTTPRequest.m: 456";
  3121 + rLen = 0;
  3122 + rLoc = 14904;
  3123 + rType = 0;
  3124 + vrLen = 2251;
  3125 + vrLoc = 12494;
  3126 + };
  3127 + B5CF37440E7A90E10050CBA7 /* PBXTextBookmark */ = {
  3128 + isa = PBXTextBookmark;
  3129 + fRef = B5731AFB0E430B1F0008024F /* ASIHTTPRequestTests.m */;
  3130 + name = "ASIHTTPRequestTests.m: 123";
  3131 + rLen = 0;
  3132 + rLoc = 4774;
  3133 + rType = 0;
  3134 + vrLen = 3018;
  3135 + vrLoc = 6716;
  3136 + };
3064 B5F3B72B0E4367CA00E001FD /* TimelineViewSelectionManagement.m */ = { 3137 B5F3B72B0E4367CA00E001FD /* TimelineViewSelectionManagement.m */ = {
3065 isa = PBXFileReference; 3138 isa = PBXFileReference;
3066 lastKnownFileType = sourcecode.c.objc; 3139 lastKnownFileType = sourcecode.c.objc;