| Index: net/url_request/url_request_unittest.cc
|
| diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
|
| index 402b7733ff245b81b3e6e7a01a5272fd6b4e8f55..8ddc5cdf27332a845d798046ca23b10614333de3 100644
|
| --- a/net/url_request/url_request_unittest.cc
|
| +++ b/net/url_request/url_request_unittest.cc
|
| @@ -53,6 +53,7 @@
|
| #include "net/socket/ssl_client_socket.h"
|
| #include "net/test/test_server.h"
|
| #include "net/url_request/ftp_protocol_handler.h"
|
| +#include "net/url_request/static_http_user_agent_settings.h"
|
| #include "net/url_request/url_request.h"
|
| #include "net/url_request/url_request_file_dir_job.h"
|
| #include "net/url_request/url_request_http_job.h"
|
| @@ -3477,10 +3478,11 @@ TEST_F(URLRequestTestHTTP, InterceptPost307RedirectPost) {
|
| TEST_F(URLRequestTestHTTP, DefaultAcceptLanguage) {
|
| ASSERT_TRUE(test_server_.Start());
|
|
|
| + StaticHttpUserAgentSettings settings("en", EmptyString(), EmptyString());
|
| TestNetworkDelegate network_delegate; // must outlive URLRequests
|
| TestURLRequestContext context(true);
|
| context.set_network_delegate(&network_delegate);
|
| - context.set_accept_language("en");
|
| + context.set_http_user_agent_settings(&settings);
|
| context.Init();
|
|
|
| TestDelegate d;
|
| @@ -3495,13 +3497,14 @@ TEST_F(URLRequestTestHTTP, DefaultAcceptLanguage) {
|
| TEST_F(URLRequestTestHTTP, EmptyAcceptLanguage) {
|
| ASSERT_TRUE(test_server_.Start());
|
|
|
| + StaticHttpUserAgentSettings settings("", EmptyString(), EmptyString());
|
| TestNetworkDelegate network_delegate; // must outlive URLRequests
|
| TestURLRequestContext context(true);
|
| context.set_network_delegate(&network_delegate);
|
| context.Init();
|
| // We override the language after initialization because empty entries
|
| // get overridden by Init().
|
| - context.set_accept_language("");
|
| + context.set_http_user_agent_settings(&settings);
|
|
|
| TestDelegate d;
|
| URLRequest req(
|
| @@ -3565,10 +3568,11 @@ TEST_F(URLRequestTestHTTP, OverrideAcceptEncoding) {
|
| TEST_F(URLRequestTestHTTP, DefaultAcceptCharset) {
|
| ASSERT_TRUE(test_server_.Start());
|
|
|
| + StaticHttpUserAgentSettings settings(EmptyString(), "en", EmptyString());
|
| TestNetworkDelegate network_delegate; // must outlive URLRequests
|
| TestURLRequestContext context(true);
|
| context.set_network_delegate(&network_delegate);
|
| - context.set_accept_charset("en");
|
| + context.set_http_user_agent_settings(&settings);
|
| context.Init();
|
|
|
| TestDelegate d;
|
| @@ -3584,13 +3588,14 @@ TEST_F(URLRequestTestHTTP, DefaultAcceptCharset) {
|
| TEST_F(URLRequestTestHTTP, EmptyAcceptCharset) {
|
| ASSERT_TRUE(test_server_.Start());
|
|
|
| + StaticHttpUserAgentSettings settings(EmptyString(), "", EmptyString());
|
| TestNetworkDelegate network_delegate; // must outlive URLRequests
|
| TestURLRequestContext context(true);
|
| context.set_network_delegate(&network_delegate);
|
| context.Init();
|
| // We override the accepted charset after initialization because empty
|
| // entries get overridden otherwise.
|
| - context.set_accept_charset("");
|
| + context.set_http_user_agent_settings(&settings);
|
|
|
| TestDelegate d;
|
| URLRequest req(test_server_.GetURL("echoheader?Accept-Charset"),
|
| @@ -3651,6 +3656,36 @@ TEST_F(URLRequestTestHTTP, OverrideUserAgent) {
|
| EXPECT_TRUE(StartsWithASCII(d.data_received(), "Lynx (textmode", true));
|
| }
|
|
|
| +// Check that a NULL HttpUserAgentSettings causes the corresponding empty
|
| +// headers to be sent.
|
| +TEST_F(URLRequestTestHTTP, EmptyHttpUserAgentSettings) {
|
| + ASSERT_TRUE(test_server_.Start());
|
| +
|
| + TestNetworkDelegate network_delegate; // must outlive URLRequests
|
| + TestURLRequestContext context(true);
|
| + context.set_network_delegate(&network_delegate);
|
| + context.Init();
|
| + // We override the HttpUserAgentSettings after initialization because empty
|
| + // entries get overridden by Init().
|
| + context.set_http_user_agent_settings(NULL);
|
| +
|
| + struct {
|
| + const char* request;
|
| + const char* expected_response;
|
| + } tests[] = { { "echoheader?Accept-Language", "None" },
|
| + { "echoheader?Accept-Charset", "None" },
|
| + { "echoheader?User-Agent", "" } };
|
| +
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); i++) {
|
| + TestDelegate d;
|
| + URLRequest req(test_server_.GetURL(tests[i].request), &d, &context);
|
| + req.Start();
|
| + MessageLoop::current()->Run();
|
| + EXPECT_EQ(tests[i].expected_response, d.data_received())
|
| + << " Request = \"" << tests[i].request << "\"";
|
| + }
|
| +}
|
| +
|
| class HTTPSRequestTest : public testing::Test {
|
| public:
|
| HTTPSRequestTest() : default_context_(true) {
|
|
|