Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import <Cronet/Cronet.h> | 5 #import <Cronet/Cronet.h> |
| 6 #import <Foundation/Foundation.h> | 6 #import <Foundation/Foundation.h> |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 251 [Cronet setRequestFilterBlock:nil]; | 251 [Cronet setRequestFilterBlock:nil]; |
| 252 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url]; | 252 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url]; |
| 253 StartDataTaskAndWaitForCompletion(task); | 253 StartDataTaskAndWaitForCompletion(task); |
| 254 EXPECT_EQ(nil, [delegate_ error]); | 254 EXPECT_EQ(nil, [delegate_ error]); |
| 255 EXPECT_STREQ(kUserAgent, [[delegate_ responseBody] UTF8String]); | 255 EXPECT_STREQ(kUserAgent, [[delegate_ responseBody] UTF8String]); |
| 256 } | 256 } |
| 257 | 257 |
| 258 TEST_F(HttpTest, SetCookie) { | 258 TEST_F(HttpTest, SetCookie) { |
| 259 const char kCookieHeader[] = "Cookie"; | 259 const char kCookieHeader[] = "Cookie"; |
| 260 const char kCookieLine[] = "aaaa=bbb"; | 260 const char kCookieLine[] = "aaaa=bbb"; |
| 261 NSHTTPCookieStorage* systemCookieStorage = | |
| 262 [NSHTTPCookieStorage sharedHTTPCookieStorage]; | |
| 263 NSURL* cookieUrl = | |
| 264 [NSURL URLWithString:base::SysUTF8ToNSString( | |
| 265 TestServer::GetEchoHeaderURL(kCookieHeader))]; | |
| 266 // Verify that cookie is not set in system storage. | |
| 267 for (NSHTTPCookie* cookie in [systemCookieStorage cookiesForURL:cookieUrl]) { | |
| 268 EXPECT_FALSE([[cookie name] containsString:@"aaaa"]); | |
|
kapishnikov
2017/01/06 15:24:45
Since 'isEqual' (or better 'isEqualToString') is u
mef
2017/01/06 15:52:55
Done.
| |
| 269 } | |
| 270 | |
| 261 NSURL* echoCookieUrl = | 271 NSURL* echoCookieUrl = |
| 262 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL(kCookieHeader))); | 272 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL(kCookieHeader))); |
| 263 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]); | 273 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]); |
| 264 EXPECT_EQ(nil, [delegate_ error]); | 274 EXPECT_EQ(nil, [delegate_ error]); |
| 265 EXPECT_EQ(nil, [delegate_ responseBody]); | 275 EXPECT_EQ(nil, [delegate_ responseBody]); |
| 266 | 276 |
| 267 NSURL* setCookieUrl = | 277 NSURL* setCookieUrl = |
| 268 net::NSURLWithGURL(GURL(TestServer::GetSetCookieURL(kCookieLine))); | 278 net::NSURLWithGURL(GURL(TestServer::GetSetCookieURL(kCookieLine))); |
| 269 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:setCookieUrl]); | 279 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:setCookieUrl]); |
| 270 EXPECT_EQ(nil, [delegate_ error]); | 280 EXPECT_EQ(nil, [delegate_ error]); |
| 271 EXPECT_TRUE([[delegate_ responseBody] | 281 EXPECT_TRUE([[delegate_ responseBody] |
| 272 containsString:base::SysUTF8ToNSString(kCookieLine)]); | 282 containsString:base::SysUTF8ToNSString(kCookieLine)]); |
| 273 | 283 |
| 274 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]); | 284 StartDataTaskAndWaitForCompletion([session_ dataTaskWithURL:echoCookieUrl]); |
| 275 EXPECT_EQ(nil, [delegate_ error]); | 285 EXPECT_EQ(nil, [delegate_ error]); |
| 276 EXPECT_TRUE([[delegate_ responseBody] | 286 EXPECT_TRUE([[delegate_ responseBody] |
| 277 containsString:base::SysUTF8ToNSString(kCookieLine)]); | 287 containsString:base::SysUTF8ToNSString(kCookieLine)]); |
| 288 | |
| 289 // Verify that cookie is set in system storage. | |
| 290 NSHTTPCookie* systemCookie = nil; | |
| 291 for (NSHTTPCookie* cookie in [systemCookieStorage cookiesForURL:cookieUrl]) { | |
| 292 if ([cookie.name isEqual:@"aaaa"]) { | |
|
kapishnikov
2017/01/06 15:24:45
isEqualToString should be a little faster.
mef
2017/01/06 15:52:55
Done.
| |
| 293 systemCookie = cookie; | |
| 294 break; | |
| 295 } | |
| 296 } | |
| 297 EXPECT_TRUE([[systemCookie value] containsString:@"bbb"]); | |
|
kapishnikov
2017/01/06 15:24:45
Why don't use isEqualToString instead of containsS
mef
2017/01/06 15:52:55
Done.
| |
| 298 [systemCookieStorage deleteCookie:systemCookie]; | |
| 278 } | 299 } |
| 279 | 300 |
| 280 TEST_F(HttpTest, FilterOutRequest) { | 301 TEST_F(HttpTest, FilterOutRequest) { |
| 281 NSURL* url = | 302 NSURL* url = |
| 282 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL("User-Agent"))); | 303 net::NSURLWithGURL(GURL(TestServer::GetEchoHeaderURL("User-Agent"))); |
| 283 __block BOOL block_used = NO; | 304 __block BOOL block_used = NO; |
| 284 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url]; | 305 NSURLSessionDataTask* task = [session_ dataTaskWithURL:url]; |
| 285 [Cronet setRequestFilterBlock:^(NSURLRequest* request) { | 306 [Cronet setRequestFilterBlock:^(NSURLRequest* request) { |
| 286 block_used = YES; | 307 block_used = YES; |
| 287 EXPECT_EQ([request URL], url); | 308 EXPECT_EQ([request URL], url); |
| 288 return NO; | 309 return NO; |
| 289 }]; | 310 }]; |
| 290 StartDataTaskAndWaitForCompletion(task); | 311 StartDataTaskAndWaitForCompletion(task); |
| 291 EXPECT_TRUE(block_used); | 312 EXPECT_TRUE(block_used); |
| 292 EXPECT_EQ(nil, [delegate_ error]); | 313 EXPECT_EQ(nil, [delegate_ error]); |
| 293 EXPECT_FALSE([[delegate_ responseBody] | 314 EXPECT_FALSE([[delegate_ responseBody] |
| 294 containsString:base::SysUTF8ToNSString(kUserAgent)]); | 315 containsString:base::SysUTF8ToNSString(kUserAgent)]); |
| 295 EXPECT_TRUE([[delegate_ responseBody] containsString:@"CFNetwork"]); | 316 EXPECT_TRUE([[delegate_ responseBody] containsString:@"CFNetwork"]); |
| 296 } | 317 } |
| 297 | 318 |
| 298 } // namespace cronet | 319 } // namespace cronet |
| OLD | NEW |