summaryrefslogtreecommitdiffstats
path: root/net/url_request/url_request_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/url_request/url_request_unittest.cc')
-rw-r--r--net/url_request/url_request_unittest.cc46
1 files changed, 42 insertions, 4 deletions
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index 181c509..2bf7f24 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -54,6 +54,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"
@@ -3668,10 +3669,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;
@@ -3686,13 +3688,15 @@ TEST_F(URLRequestTestHTTP, DefaultAcceptLanguage) {
TEST_F(URLRequestTestHTTP, EmptyAcceptLanguage) {
ASSERT_TRUE(test_server_.Start());
+ StaticHttpUserAgentSettings settings(
+ EmptyString(), 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(
@@ -3756,10 +3760,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;
@@ -3775,13 +3780,15 @@ TEST_F(URLRequestTestHTTP, DefaultAcceptCharset) {
TEST_F(URLRequestTestHTTP, EmptyAcceptCharset) {
ASSERT_TRUE(test_server_.Start());
+ StaticHttpUserAgentSettings settings(
+ EmptyString(), 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"),
@@ -3842,6 +3849,37 @@ TEST_F(URLRequestTestHTTP, OverrideUserAgent) {
EXPECT_TRUE(StartsWithASCII(d.data_received(), "Lynx (textmode", true));
}
+// Check that a NULL HttpUserAgentSettings causes the corresponding empty
+// User-Agent header to be sent but does not send the Accept-Language and
+// Accept-Charset headers.
+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) {