| Index: net/http/http_server_properties_impl_unittest.cc
|
| diff --git a/net/http/http_server_properties_impl_unittest.cc b/net/http/http_server_properties_impl_unittest.cc
|
| index 7a1ea824e450eb7b447bfb7f3f38e485c6340509..6a709a962c860818a2905e5efb391cb2ef2d1fe7 100644
|
| --- a/net/http/http_server_properties_impl_unittest.cc
|
| +++ b/net/http/http_server_properties_impl_unittest.cc
|
| @@ -21,6 +21,8 @@ class ListValue;
|
|
|
| namespace net {
|
|
|
| +const int kMaxSupportsSpdyServerHosts = 500;
|
| +
|
| namespace {
|
|
|
| class HttpServerPropertiesImplTest : public testing::Test {
|
| @@ -60,6 +62,17 @@ TEST_F(SpdyServerPropertiesTest, Initialize) {
|
| spdy_servers2.push_back(spdy_server_g);
|
| spdy_servers2.push_back(spdy_server_d);
|
| impl_.InitializeSpdyServers(&spdy_servers2, true);
|
| +
|
| + // Verify spdy_server_g and spdy_server_d are in the list in the same order.
|
| + base::ListValue spdy_server_list;
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| + EXPECT_EQ(2U, spdy_server_list.GetSize());
|
| + std::string string_value_g;
|
| + ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g));
|
| + ASSERT_EQ(spdy_server_g, string_value_g);
|
| + std::string string_value_d;
|
| + ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_d));
|
| + ASSERT_EQ(spdy_server_d, string_value_d);
|
| EXPECT_TRUE(impl_.SupportsSpdy(spdy_server_google));
|
| EXPECT_TRUE(impl_.SupportsSpdy(spdy_server_docs));
|
| }
|
| @@ -130,13 +143,13 @@ TEST_F(SpdyServerPropertiesTest, GetSpdyServerList) {
|
| base::ListValue spdy_server_list;
|
|
|
| // Check there are no spdy_servers.
|
| - impl_.GetSpdyServerList(&spdy_server_list);
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| EXPECT_EQ(0U, spdy_server_list.GetSize());
|
|
|
| // Check empty server is not added.
|
| HostPortPair spdy_server_empty(std::string(), 443);
|
| impl_.SetSupportsSpdy(spdy_server_empty, true);
|
| - impl_.GetSpdyServerList(&spdy_server_list);
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| EXPECT_EQ(0U, spdy_server_list.GetSize());
|
|
|
| std::string string_value_g;
|
| @@ -150,38 +163,79 @@ TEST_F(SpdyServerPropertiesTest, GetSpdyServerList) {
|
|
|
| // Add www.google.com:443 as not supporting SPDY.
|
| impl_.SetSupportsSpdy(spdy_server_google, false);
|
| - impl_.GetSpdyServerList(&spdy_server_list);
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| EXPECT_EQ(0U, spdy_server_list.GetSize());
|
|
|
| // Add www.google.com:443 as supporting SPDY.
|
| impl_.SetSupportsSpdy(spdy_server_google, true);
|
| - impl_.GetSpdyServerList(&spdy_server_list);
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| ASSERT_EQ(1U, spdy_server_list.GetSize());
|
| ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g));
|
| ASSERT_EQ(spdy_server_g, string_value_g);
|
|
|
| // Add mail.google.com:443 as not supporting SPDY.
|
| impl_.SetSupportsSpdy(spdy_server_mail, false);
|
| - impl_.GetSpdyServerList(&spdy_server_list);
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| ASSERT_EQ(1U, spdy_server_list.GetSize());
|
| ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g));
|
| ASSERT_EQ(spdy_server_g, string_value_g);
|
|
|
| // Add mail.google.com:443 as supporting SPDY.
|
| impl_.SetSupportsSpdy(spdy_server_mail, true);
|
| - impl_.GetSpdyServerList(&spdy_server_list);
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| ASSERT_EQ(2U, spdy_server_list.GetSize());
|
|
|
| // Verify www.google.com:443 and mail.google.com:443 are in the list.
|
| + ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_m));
|
| + ASSERT_EQ(spdy_server_m, string_value_m);
|
| + ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_g));
|
| + ASSERT_EQ(spdy_server_g, string_value_g);
|
| +
|
| + // Request for only one server and verify that we get only one server.
|
| + impl_.GetSpdyServerList(&spdy_server_list, 1);
|
| + ASSERT_EQ(1U, spdy_server_list.GetSize());
|
| + ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_m));
|
| + ASSERT_EQ(spdy_server_m, string_value_m);
|
| +}
|
| +
|
| +TEST_F(SpdyServerPropertiesTest, MRUOfGetSpdyServerList) {
|
| + base::ListValue spdy_server_list;
|
| +
|
| + std::string string_value_g;
|
| + std::string string_value_m;
|
| + HostPortPair spdy_server_google("www.google.com", 443);
|
| + std::string spdy_server_g =
|
| + HttpServerPropertiesImpl::GetFlattenedSpdyServer(spdy_server_google);
|
| + HostPortPair spdy_server_mail("mail.google.com", 443);
|
| + std::string spdy_server_m =
|
| + HttpServerPropertiesImpl::GetFlattenedSpdyServer(spdy_server_mail);
|
| +
|
| + // Add www.google.com:443 as supporting SPDY.
|
| + impl_.SetSupportsSpdy(spdy_server_google, true);
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| + ASSERT_EQ(1U, spdy_server_list.GetSize());
|
| ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g));
|
| + ASSERT_EQ(spdy_server_g, string_value_g);
|
| +
|
| + // Add mail.google.com:443 as supporting SPDY. Verify mail.google.com:443 and
|
| + // www.google.com:443 are in the list.
|
| + impl_.SetSupportsSpdy(spdy_server_mail, true);
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| + ASSERT_EQ(2U, spdy_server_list.GetSize());
|
| + ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_m));
|
| + ASSERT_EQ(spdy_server_m, string_value_m);
|
| + ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_g));
|
| + ASSERT_EQ(spdy_server_g, string_value_g);
|
| +
|
| + // Get www.google.com:443 should reorder SpdyServerHostPortMap. Verify that it
|
| + // is www.google.com:443 is the MRU server.
|
| + EXPECT_TRUE(impl_.SupportsSpdy(spdy_server_google));
|
| + impl_.GetSpdyServerList(&spdy_server_list, kMaxSupportsSpdyServerHosts);
|
| + ASSERT_EQ(2U, spdy_server_list.GetSize());
|
| + ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g));
|
| + ASSERT_EQ(spdy_server_g, string_value_g);
|
| ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_m));
|
| - if (string_value_g.compare(spdy_server_g) == 0) {
|
| - ASSERT_EQ(spdy_server_g, string_value_g);
|
| - ASSERT_EQ(spdy_server_m, string_value_m);
|
| - } else {
|
| - ASSERT_EQ(spdy_server_g, string_value_m);
|
| - ASSERT_EQ(spdy_server_m, string_value_g);
|
| - }
|
| + ASSERT_EQ(spdy_server_m, string_value_m);
|
| }
|
|
|
| typedef HttpServerPropertiesImplTest AlternateProtocolServerPropertiesTest;
|
|
|