| Index: ios/crnet/test/crnet_http_tests.mm
|
| diff --git a/ios/crnet/test/crnet_http_tests.mm b/ios/crnet/test/crnet_http_tests.mm
|
| index 8aee1afde8e5dade3b2f8b6e27c4635982c46b32..a8dedb2e863d4e32233cd3b514e0ad3eaa30bd0a 100644
|
| --- a/ios/crnet/test/crnet_http_tests.mm
|
| +++ b/ios/crnet/test/crnet_http_tests.mm
|
| @@ -11,6 +11,7 @@
|
| #include "base/mac/scoped_nsobject.h"
|
| #include "base/strings/sys_string_conversions.h"
|
| #import "ios/third_party/gcdwebserver/src/GCDWebServer/Core/GCDWebServer.h"
|
| +#import "ios/third_party/gcdwebserver/src/GCDWebServer/Responses/GCDWebServerDataResponse.h"
|
| #include "net/base/mac/url_conversions.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "testing/gtest_mac.h"
|
| @@ -99,6 +100,7 @@
|
| // base::TimeDelta would normally be ideal for this but it does not support
|
| // nanosecond resolution.
|
| static const int64_t ns_in_second = 1000000000LL;
|
| +const char kUserAgent[] = "CrNetTest/1.0.0.0";
|
|
|
| class HttpTest : public ::testing::Test {
|
| protected:
|
| @@ -106,7 +108,7 @@ class HttpTest : public ::testing::Test {
|
| ~HttpTest() override {}
|
|
|
| void SetUp() override {
|
| - [CrNet setPartialUserAgent:@"CrNetTest/1.0.0.0"];
|
| + [CrNet setUserAgent:base::SysUTF8ToNSString(kUserAgent) partial:NO];
|
| [CrNet install];
|
| NSURLSessionConfiguration* config =
|
| [NSURLSessionConfiguration ephemeralSessionConfiguration];
|
| @@ -208,11 +210,11 @@ TEST_F(HttpTest, NSURLSessionReceivesData) {
|
| }
|
|
|
| TEST_F(HttpTest, SdchDisabledByDefault) {
|
| - const char kPath[] = "/foo";
|
| + const char kPath[] = "/sdchtest";
|
| RegisterPathHandler(kPath,
|
| ^GCDWebServerResponse* (GCDWebServerRequest* req) {
|
| EXPECT_FALSE(HeaderValueContains(req, "Accept-Encoding", "sdch"));
|
| - return nil;
|
| + return [GCDWebServerDataResponse responseWithText:@"woot!"];
|
| });
|
| StartWebServer();
|
| NSURL* url = net::NSURLWithGURL(GetURL(kPath));
|
| @@ -222,6 +224,21 @@ TEST_F(HttpTest, SdchDisabledByDefault) {
|
| EXPECT_TRUE([delegate_ receivedBytes]);
|
| }
|
|
|
| +TEST_F(HttpTest, SetUserAgentIsExact) {
|
| + const char kPath[] = "/uatest";
|
| + RegisterPathHandler(kPath, ^GCDWebServerResponse*(GCDWebServerRequest* req) {
|
| + EXPECT_STREQ(kUserAgent,
|
| + [[req.headers valueForKey:@"User-Agent"] UTF8String]);
|
| + return [GCDWebServerDataResponse responseWithText:@"yay!"];
|
| + });
|
| + StartWebServer();
|
| + NSURL* url = net::NSURLWithGURL(GetURL(kPath));
|
| + NSURLSessionDataTask* task = [session_ dataTaskWithURL:url];
|
| + StartDataTaskAndWaitForCompletion(task);
|
| + EXPECT_EQ(nil, [delegate_ error]);
|
| + EXPECT_TRUE([delegate_ receivedBytes]);
|
| +}
|
| +
|
| // TODO(ellyjones): There needs to be a test that enabling SDCH works, but
|
| // because CrNet is static and 'uninstall' only disables it, there is no way to
|
| // have an individual test enable or disable SDCH.
|
|
|