| Index: net/base/sdch_manager_unittest.cc
|
| diff --git a/net/base/sdch_manager_unittest.cc b/net/base/sdch_manager_unittest.cc
|
| index 26893bd1b94f21f2e6c9286a33ae270ef9841b02..fe9a4b14d029202ceb03873631b21cdbc6e7a983 100644
|
| --- a/net/base/sdch_manager_unittest.cc
|
| +++ b/net/base/sdch_manager_unittest.cc
|
| @@ -35,6 +35,11 @@ class SdchManagerTest : public testing::Test {
|
| SdchManager::EnableSecureSchemeSupport(false);
|
| }
|
|
|
| + bool AddDictionary(const std::string& text, const GURL& url) {
|
| + SdchManager::AddResult rv = sdch_manager_->AddSdchDictionary(text, url);
|
| + return rv.added;
|
| + }
|
| +
|
| private:
|
| scoped_ptr<SdchManager> sdch_manager_;
|
| };
|
| @@ -140,16 +145,16 @@ TEST_F(SdchManagerTest, CanSetExactMatchDictionary) {
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| // Perfect match should work.
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://" + dictionary_domain)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text, GURL("http://" + dictionary_domain)));
|
| }
|
|
|
| TEST_F(SdchManagerTest, CanAdvertiseDictionaryOverHTTP) {
|
| std::string dictionary_domain("x.y.z.google.com");
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://" + dictionary_domain)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text, GURL("http://" + dictionary_domain)));
|
|
|
| std::string dictionary_list;
|
| // HTTP target URL can advertise dictionary.
|
| @@ -163,8 +168,8 @@ TEST_F(SdchManagerTest, CanNotAdvertiseDictionaryOverHTTPS) {
|
| std::string dictionary_domain("x.y.z.google.com");
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://" + dictionary_domain)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text, GURL("http://" + dictionary_domain)));
|
|
|
| std::string dictionary_list;
|
| // HTTPS target URL should NOT advertise dictionary.
|
| @@ -178,11 +183,11 @@ TEST_F(SdchManagerTest, CanUseHTTPSDictionaryOverHTTPSIfEnabled) {
|
| std::string dictionary_domain("x.y.z.google.com");
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| - EXPECT_FALSE(sdch_manager()->AddSdchDictionary(
|
| - dictionary_text, GURL("https://" + dictionary_domain)));
|
| + EXPECT_FALSE(
|
| + AddDictionary(dictionary_text, GURL("https://" + dictionary_domain)));
|
| SdchManager::EnableSecureSchemeSupport(true);
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(
|
| - dictionary_text, GURL("https://" + dictionary_domain)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text, GURL("https://" + dictionary_domain)));
|
|
|
| GURL target_url("https://" + dictionary_domain + "/test");
|
| std::string dictionary_list;
|
| @@ -204,8 +209,8 @@ TEST_F(SdchManagerTest, CanNotUseHTTPDictionaryOverHTTPS) {
|
| std::string dictionary_domain("x.y.z.google.com");
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://" + dictionary_domain)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text, GURL("http://" + dictionary_domain)));
|
|
|
| GURL target_url("https://" + dictionary_domain + "/test");
|
| std::string dictionary_list;
|
| @@ -228,8 +233,8 @@ TEST_F(SdchManagerTest, CanNotUseHTTPSDictionaryOverHTTP) {
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| SdchManager::EnableSecureSchemeSupport(true);
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("https://" + dictionary_domain)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text, GURL("https://" + dictionary_domain)));
|
|
|
| GURL target_url("http://" + dictionary_domain + "/test");
|
| std::string dictionary_list;
|
| @@ -251,8 +256,7 @@ TEST_F(SdchManagerTest, FailToSetDomainMismatchDictionary) {
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| // Fail the "domain match" requirement.
|
| - EXPECT_FALSE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://y.z.google.com")));
|
| + EXPECT_FALSE(AddDictionary(dictionary_text, GURL("http://y.z.google.com")));
|
| }
|
|
|
| TEST_F(SdchManagerTest, FailToSetDotHostPrefixDomainDictionary) {
|
| @@ -260,8 +264,8 @@ TEST_F(SdchManagerTest, FailToSetDotHostPrefixDomainDictionary) {
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| // Fail the HD with D being the domain and H having a dot requirement.
|
| - EXPECT_FALSE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://w.x.y.z.google.com")));
|
| + EXPECT_FALSE(
|
| + AddDictionary(dictionary_text, GURL("http://w.x.y.z.google.com")));
|
| }
|
|
|
| TEST_F(SdchManagerTest, FailToSetRepeatPrefixWithDotDictionary) {
|
| @@ -271,8 +275,8 @@ TEST_F(SdchManagerTest, FailToSetRepeatPrefixWithDotDictionary) {
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| // Fail the HD with D being the domain and H having a dot requirement.
|
| - EXPECT_FALSE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://www.google.com.www.google.com")));
|
| + EXPECT_FALSE(AddDictionary(dictionary_text,
|
| + GURL("http://www.google.com.www.google.com")));
|
| }
|
|
|
| TEST_F(SdchManagerTest, CanSetLeadingDotDomainDictionary) {
|
| @@ -283,8 +287,7 @@ TEST_F(SdchManagerTest, CanSetLeadingDotDomainDictionary) {
|
|
|
| // Verify that a leading dot in the domain is acceptable, as long as the host
|
| // name does not contain any dots preceding the matched domain name.
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://www.google.com")));
|
| + EXPECT_TRUE(AddDictionary(dictionary_text, GURL("http://www.google.com")));
|
| }
|
|
|
| // Make sure the order of the tests is not helping us or confusing things.
|
| @@ -294,8 +297,8 @@ TEST_F(SdchManagerTest, CanStillSetExactMatchDictionary) {
|
| std::string dictionary_text(NewSdchDictionary(dictionary_domain));
|
|
|
| // Perfect match should *STILL* work.
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://" + dictionary_domain)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text, GURL("http://" + dictionary_domain)));
|
| }
|
|
|
| // Make sure the DOS protection precludes the addition of too many dictionaries.
|
| @@ -305,8 +308,7 @@ TEST_F(SdchManagerTest, TooManyDictionaries) {
|
|
|
| size_t count = 0;
|
| while (count <= SdchManager::kMaxDictionaryCount + 1) {
|
| - if (!sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://www.google.com")))
|
| + if (!AddDictionary(dictionary_text, GURL("http://www.google.com")))
|
| break;
|
|
|
| dictionary_text += " "; // Create dictionary with different SHA signature.
|
| @@ -321,8 +323,8 @@ TEST_F(SdchManagerTest, DictionaryNotTooLarge) {
|
|
|
| dictionary_text.append(
|
| SdchManager::kMaxDictionarySize - dictionary_text.size(), ' ');
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://" + dictionary_domain)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text, GURL("http://" + dictionary_domain)));
|
| }
|
|
|
| TEST_F(SdchManagerTest, DictionaryTooLarge) {
|
| @@ -331,8 +333,8 @@ TEST_F(SdchManagerTest, DictionaryTooLarge) {
|
|
|
| dictionary_text.append(
|
| SdchManager::kMaxDictionarySize + 1 - dictionary_text.size(), ' ');
|
| - EXPECT_FALSE(sdch_manager()->AddSdchDictionary(dictionary_text,
|
| - GURL("http://" + dictionary_domain)));
|
| + EXPECT_FALSE(
|
| + AddDictionary(dictionary_text, GURL("http://" + dictionary_domain)));
|
| }
|
|
|
| TEST_F(SdchManagerTest, PathMatch) {
|
| @@ -422,8 +424,8 @@ TEST_F(SdchManagerTest, CanUseMultipleManagers) {
|
|
|
| // Confirm that if you add directories to one manager, you
|
| // can't get them from the other.
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(
|
| - dictionary_text_1, GURL("http://" + dictionary_domain_1)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text_1, GURL("http://" + dictionary_domain_1)));
|
| scoped_refptr<SdchManager::Dictionary> dictionary;
|
| sdch_manager()->GetVcdiffDictionary(
|
| server_hash_1,
|
| @@ -431,8 +433,9 @@ TEST_F(SdchManagerTest, CanUseMultipleManagers) {
|
| &dictionary);
|
| EXPECT_TRUE(dictionary);
|
|
|
| - EXPECT_TRUE(second_manager.AddSdchDictionary(
|
| - dictionary_text_2, GURL("http://" + dictionary_domain_2)));
|
| + SdchManager::AddResult rv = second_manager.AddSdchDictionary(
|
| + dictionary_text_2, GURL("http://" + dictionary_domain_2));
|
| + EXPECT_TRUE(rv.added);
|
| second_manager.GetVcdiffDictionary(
|
| server_hash_2,
|
| GURL("http://" + dictionary_domain_2 + "/random_url"),
|
| @@ -474,8 +477,8 @@ TEST_F(SdchManagerTest, ClearDictionaryData) {
|
|
|
| SdchManager::GenerateHash(dictionary_text, &tmp_hash, &server_hash);
|
|
|
| - EXPECT_TRUE(sdch_manager()->AddSdchDictionary(
|
| - dictionary_text, GURL("http://" + dictionary_domain)));
|
| + EXPECT_TRUE(
|
| + AddDictionary(dictionary_text, GURL("http://" + dictionary_domain)));
|
| scoped_refptr<SdchManager::Dictionary> dictionary;
|
| sdch_manager()->GetVcdiffDictionary(
|
| server_hash,
|
|
|