diff options
Diffstat (limited to 'chrome/browser/net/http_server_properties_manager_unittest.cc')
-rw-r--r-- | chrome/browser/net/http_server_properties_manager_unittest.cc | 61 |
1 files changed, 57 insertions, 4 deletions
diff --git a/chrome/browser/net/http_server_properties_manager_unittest.cc b/chrome/browser/net/http_server_properties_manager_unittest.cc index 98cb86b..c2b3d90 100644 --- a/chrome/browser/net/http_server_properties_manager_unittest.cc +++ b/chrome/browser/net/http_server_properties_manager_unittest.cc @@ -60,14 +60,16 @@ class TestingHttpServerPropertiesManager : public HttpServerPropertiesManager { MOCK_METHOD0(UpdateCacheFromPrefsOnUI, void()); MOCK_METHOD0(UpdatePrefsFromCacheOnIO, void()); - MOCK_METHOD3(UpdateCacheFromPrefsOnIO, + MOCK_METHOD4(UpdateCacheFromPrefsOnIO, void(std::vector<std::string>* spdy_servers, net::SpdySettingsMap* spdy_settings_map, - net::AlternateProtocolMap* alternate_protocol_map)); - MOCK_METHOD3(UpdatePrefsOnUI, + net::AlternateProtocolMap* alternate_protocol_map, + net::PipelineCapabilityMap* pipeline_capability_map)); + MOCK_METHOD4(UpdatePrefsOnUI, void(base::ListValue* spdy_server_list, net::SpdySettingsMap* spdy_settings_map, - net::AlternateProtocolMap* alternate_protocol_map)); + net::AlternateProtocolMap* alternate_protocol_map, + net::PipelineCapabilityMap* pipeline_capability_map)); private: DISALLOW_COPY_AND_ASSIGN(TestingHttpServerPropertiesManager); @@ -152,6 +154,9 @@ TEST_F(HttpServerPropertiesManagerTest, server_pref_dict->SetWithoutPathExpansion( "alternate_protocol", alternate_protocol); + // Set pipeline capability for www.google.com:80. + server_pref_dict->SetInteger("pipeline_capability", net::PIPELINE_CAPABLE); + // Set the server preference for www.google.com:80. base::DictionaryValue* http_server_properties_dict = new base::DictionaryValue; @@ -181,6 +186,9 @@ TEST_F(HttpServerPropertiesManagerTest, server_pref_dict1->SetWithoutPathExpansion( "alternate_protocol", alternate_protocol1); + // Set pipelining capability for mail.google.com:80 + server_pref_dict1->SetInteger("pipeline_capability", net::PIPELINE_INCAPABLE); + // Set the server preference for mail.google.com:80. http_server_properties_dict->SetWithoutPathExpansion( "mail.google.com:80", server_pref_dict1); @@ -238,6 +246,14 @@ TEST_F(HttpServerPropertiesManagerTest, net::HostPortPair::FromString("mail.google.com:80")); EXPECT_EQ(444, port_alternate_protocol.port); EXPECT_EQ(net::NPN_SPDY_2, port_alternate_protocol.protocol); + + // Verify pipeline capability. + EXPECT_EQ(net::PIPELINE_CAPABLE, + http_server_props_manager_->GetPipelineCapability( + net::HostPortPair::FromString("www.google.com:80"))); + EXPECT_EQ(net::PIPELINE_INCAPABLE, + http_server_props_manager_->GetPipelineCapability( + net::HostPortPair::FromString("mail.google.com:80"))); } TEST_F(HttpServerPropertiesManagerTest, SupportsSpdy) { @@ -306,6 +322,33 @@ TEST_F(HttpServerPropertiesManagerTest, HasAlternateProtocol) { EXPECT_EQ(net::NPN_SPDY_2, port_alternate_protocol.protocol); } +TEST_F(HttpServerPropertiesManagerTest, PipelineCapability) { + ExpectPrefsUpdate(); + + net::HostPortPair known_pipeliner("pipeline.com", 8080); + net::HostPortPair bad_pipeliner("wordpress.com", 80); + EXPECT_EQ(net::PIPELINE_UNKNOWN, + http_server_props_manager_->GetPipelineCapability(known_pipeliner)); + EXPECT_EQ(net::PIPELINE_UNKNOWN, + http_server_props_manager_->GetPipelineCapability(bad_pipeliner)); + + // Post an update task to the IO thread. SetPipelineCapability calls + // ScheduleUpdatePrefsOnIO. + http_server_props_manager_->SetPipelineCapability(known_pipeliner, + net::PIPELINE_CAPABLE); + http_server_props_manager_->SetPipelineCapability(bad_pipeliner, + net::PIPELINE_INCAPABLE); + + // Run the task. + loop_.RunAllPending(); + + EXPECT_EQ(net::PIPELINE_CAPABLE, + http_server_props_manager_->GetPipelineCapability(known_pipeliner)); + EXPECT_EQ(net::PIPELINE_INCAPABLE, + http_server_props_manager_->GetPipelineCapability(bad_pipeliner)); + Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); +} + TEST_F(HttpServerPropertiesManagerTest, Clear) { ExpectPrefsUpdate(); @@ -321,6 +364,10 @@ TEST_F(HttpServerPropertiesManagerTest, Clear) { spdy_settings.push_back(std::make_pair(id1, 31337)); http_server_props_manager_->SetSpdySettings(spdy_server_mail, spdy_settings); + net::HostPortPair known_pipeliner("pipeline.com", 8080); + http_server_props_manager_->SetPipelineCapability(known_pipeliner, + net::PIPELINE_CAPABLE); + // Run the task. loop_.RunAllPending(); @@ -337,6 +384,9 @@ TEST_F(HttpServerPropertiesManagerTest, Clear) { EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); EXPECT_EQ(31337U, spdy_setting1_ret.second); + EXPECT_EQ(net::PIPELINE_CAPABLE, + http_server_props_manager_->GetPipelineCapability(known_pipeliner)); + Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); ExpectPrefsUpdate(); @@ -354,6 +404,9 @@ TEST_F(HttpServerPropertiesManagerTest, Clear) { http_server_props_manager_->GetSpdySettings(spdy_server_mail); EXPECT_EQ(0U, spdy_settings1_ret.size()); + EXPECT_EQ(net::PIPELINE_UNKNOWN, + http_server_props_manager_->GetPipelineCapability(known_pipeliner)); + Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); } |