Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Side by Side Diff: net/base/sdch_filter_unittest.cc

Issue 11009: Open up SDCH for all sites, in preparation for latency tests... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/base/sdch_filter.cc ('k') | net/base/sdch_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/scoped_ptr.h" 10 #include "base/scoped_ptr.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 std::string NewSdchCompressedData(const std::string dictionary); 43 std::string NewSdchCompressedData(const std::string dictionary);
44 44
45 const std::string test_vcdiff_dictionary_; 45 const std::string test_vcdiff_dictionary_;
46 const std::string vcdiff_compressed_data_; 46 const std::string vcdiff_compressed_data_;
47 const std::string expanded_; // Desired final, decompressed data. 47 const std::string expanded_; // Desired final, decompressed data.
48 48
49 scoped_ptr<SdchManager> sdch_manager_; // A singleton database. 49 scoped_ptr<SdchManager> sdch_manager_; // A singleton database.
50 }; 50 };
51 51
52 std::string SdchFilterTest::NewSdchCompressedData(const std::string dictionary) { 52 std::string SdchFilterTest::NewSdchCompressedData(
53 const std::string dictionary) {
53 std::string client_hash; 54 std::string client_hash;
54 std::string server_hash; 55 std::string server_hash;
55 SdchManager::GenerateHash(dictionary, &client_hash, &server_hash); 56 SdchManager::GenerateHash(dictionary, &client_hash, &server_hash);
56 57
57 // Build compressed data that refers to our dictionary. 58 // Build compressed data that refers to our dictionary.
58 std::string compressed(server_hash); 59 std::string compressed(server_hash);
59 compressed.append("\0", 1); 60 compressed.append("\0", 1);
60 compressed.append(vcdiff_compressed_data_); 61 compressed.append(vcdiff_compressed_data_);
61 return compressed; 62 return compressed;
62 } 63 }
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 GURL google_url("http://www.google.com"); 575 GURL google_url("http://www.google.com");
575 576
576 SdchManager::BlacklistDomain(test_url); 577 SdchManager::BlacklistDomain(test_url);
577 EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(test_url)); 578 EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(test_url));
578 EXPECT_TRUE(SdchManager::Global()->IsInSupportedDomain(google_url)); 579 EXPECT_TRUE(SdchManager::Global()->IsInSupportedDomain(google_url));
579 580
580 SdchManager::BlacklistDomain(google_url); 581 SdchManager::BlacklistDomain(google_url);
581 EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(test_url)); 582 EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(test_url));
582 EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(google_url)); 583 EXPECT_FALSE(SdchManager::Global()->IsInSupportedDomain(google_url));
583 } 584 }
585
586 TEST_F(SdchFilterTest, CanSetExactMatchDictionary) {
587 std::string dictionary_domain("x.y.z.google.com");
588 std::string dictionary_text(NewSdchDictionary(dictionary_domain));
589
590 // Perfect match should work.
591 EXPECT_TRUE(sdch_manager_->AddSdchDictionary(dictionary_text,
592 GURL("http://" + dictionary_domain)));
593 }
594
595 TEST_F(SdchFilterTest, FailToSetDomainMismatchDictionary) {
596 std::string dictionary_domain("x.y.z.google.com");
597 std::string dictionary_text(NewSdchDictionary(dictionary_domain));
598
599 // Fail the "domain match" requirement.
600 EXPECT_FALSE(sdch_manager_->AddSdchDictionary(dictionary_text,
601 GURL("http://y.z.google.com")));
602 }
603
604 TEST_F(SdchFilterTest, FailToSetDotHostPrefixDomainDictionary) {
605 std::string dictionary_domain("x.y.z.google.com");
606 std::string dictionary_text(NewSdchDictionary(dictionary_domain));
607
608 // Fail the HD with D being the domain and H having a dot requirement.
609 EXPECT_FALSE(sdch_manager_->AddSdchDictionary(dictionary_text,
610 GURL("http://w.x.y.z.google.com")));
611 }
612
613 TEST_F(SdchFilterTest, FailToSetRepeatPrefixWithDotDictionary) {
614 // Make sure that a prefix that matches the domain postfix won't confuse
615 // the validation checks.
616 std::string dictionary_domain("www.google.com");
617 std::string dictionary_text(NewSdchDictionary(dictionary_domain));
618
619 // Fail the HD with D being the domain and H having a dot requirement.
620 EXPECT_FALSE(sdch_manager_->AddSdchDictionary(dictionary_text,
621 GURL("http://www.google.com.www.google.com")));
622 }
623
624 TEST_F(SdchFilterTest, CanSetLeadingDotDomainDictionary) {
625 // Make sure that a prefix that matches the domain postfix won't confuse
626 // the validation checks.
627 std::string dictionary_domain(".google.com");
628 std::string dictionary_text(NewSdchDictionary(dictionary_domain));
629
630 // Fail the HD with D being the domain and H having a dot requirement.
Lincoln 2008/11/15 01:37:02 Comment is not accurate -- this test should pass.
631 EXPECT_TRUE(sdch_manager_->AddSdchDictionary(dictionary_text,
632 GURL("http://www.google.com")));
633 }
634
635 // Make sure the order of the tests is not helping us or confusing things.
636 // See test CanSetExactMatchDictionary above for first try.
637 TEST_F(SdchFilterTest, CanStillSetExactMatchDictionary) {
638 std::string dictionary_domain("x.y.z.google.com");
639 std::string dictionary_text(NewSdchDictionary(dictionary_domain));
640
641 // Perfect match should *STILL* work.
642 EXPECT_TRUE(sdch_manager_->AddSdchDictionary(dictionary_text,
643 GURL("http://" + dictionary_domain)));
644 }
OLDNEW
« no previous file with comments | « net/base/sdch_filter.cc ('k') | net/base/sdch_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698