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

Unified Diff: chrome/browser/browsing_data/browsing_data_filter_builder_impl_unittest.cc

Issue 2647683002: Consolidate Origin- and RegistrableDomain- FilterBuilder into one class (Closed)
Patch Set: Rebase. Created 3 years, 11 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/browsing_data/browsing_data_filter_builder_impl_unittest.cc
diff --git a/chrome/browser/browsing_data/registrable_domain_filter_builder_unittest.cc b/chrome/browser/browsing_data/browsing_data_filter_builder_impl_unittest.cc
similarity index 71%
rename from chrome/browser/browsing_data/registrable_domain_filter_builder_unittest.cc
rename to chrome/browser/browsing_data/browsing_data_filter_builder_impl_unittest.cc
index 2b04f5bb0afd70b8ccaa9c5cfde1c12528a4686a..43efc6509b69cdd544840181d996c43e553fb5d9 100644
--- a/chrome/browser/browsing_data/registrable_domain_filter_builder_unittest.cc
+++ b/chrome/browser/browsing_data/browsing_data_filter_builder_impl_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/browsing_data/registrable_domain_filter_builder.h"
+#include "chrome/browser/browsing_data/browsing_data_filter_builder_impl.h"
#include <algorithm>
#include <memory>
@@ -92,10 +92,10 @@ void RunTestCase(
} // namespace
-TEST(RegistrableDomainFilterBuilderTest, Noop) {
+TEST(BrowsingDataFilterBuilderImplTest, Noop) {
// An no-op filter matches everything.
base::Callback<bool(const GURL&)> filter =
- RegistrableDomainFilterBuilder::BuildNoopFilter();
+ BrowsingDataFilterBuilder::BuildNoopFilter();
TestCase test_cases[] = {
{"https://www.google.com", true},
@@ -108,9 +108,10 @@ TEST(RegistrableDomainFilterBuilderTest, Noop) {
RunTestCase(test_case, filter);
}
-TEST(RegistrableDomainFilterBuilderTest, GURLWhitelist) {
- RegistrableDomainFilterBuilder builder(
- RegistrableDomainFilterBuilder::WHITELIST);
+TEST(BrowsingDataFilterBuilderImplTest,
+ RegistrableDomainGURLWhitelist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::WHITELIST);
builder.AddRegisterableDomain(std::string(kGoogleDomain));
builder.AddRegisterableDomain(std::string(kLongETLDDomain));
builder.AddRegisterableDomain(std::string(kIPAddress));
@@ -152,9 +153,10 @@ TEST(RegistrableDomainFilterBuilderTest, GURLWhitelist) {
RunTestCase(test_case, filter);
}
-TEST(RegistrableDomainFilterBuilderTest, GURLBlacklist) {
- RegistrableDomainFilterBuilder builder(
- RegistrableDomainFilterBuilder::BLACKLIST);
+TEST(BrowsingDataFilterBuilderImplTest,
+ RegistrableDomainGURLBlacklist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::BLACKLIST);
builder.AddRegisterableDomain(std::string(kGoogleDomain));
builder.AddRegisterableDomain(std::string(kLongETLDDomain));
builder.AddRegisterableDomain(std::string(kIPAddress));
@@ -196,9 +198,10 @@ TEST(RegistrableDomainFilterBuilderTest, GURLBlacklist) {
RunTestCase(test_case, filter);
}
-TEST(RegistrableDomainFilterBuilderTest, MatchesCookiesWhitelist) {
- RegistrableDomainFilterBuilder builder(
- RegistrableDomainFilterBuilder::WHITELIST);
+TEST(BrowsingDataFilterBuilderImplTest,
+ RegistrableDomainMatchesCookiesWhitelist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::WHITELIST);
builder.AddRegisterableDomain(std::string(kGoogleDomain));
builder.AddRegisterableDomain(std::string(kLongETLDDomain));
builder.AddRegisterableDomain(std::string(kIPAddress));
@@ -247,9 +250,10 @@ TEST(RegistrableDomainFilterBuilderTest, MatchesCookiesWhitelist) {
RunTestCase(test_case, filter);
}
-TEST(RegistrableDomainFilterBuilderTest, MatchesCookiesBlacklist) {
- RegistrableDomainFilterBuilder builder(
- RegistrableDomainFilterBuilder::BLACKLIST);
+TEST(BrowsingDataFilterBuilderImplTest,
+ RegistrableDomainMatchesCookiesBlacklist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::BLACKLIST);
builder.AddRegisterableDomain(std::string(kGoogleDomain));
builder.AddRegisterableDomain(std::string(kLongETLDDomain));
builder.AddRegisterableDomain(std::string(kIPAddress));
@@ -298,9 +302,10 @@ TEST(RegistrableDomainFilterBuilderTest, MatchesCookiesBlacklist) {
RunTestCase(test_case, filter);
}
-TEST(RegistrableDomainFilterBuilderTest, MatchesChannelIDsWhitelist) {
- RegistrableDomainFilterBuilder builder(
- RegistrableDomainFilterBuilder::WHITELIST);
+TEST(BrowsingDataFilterBuilderImplTest,
+ RegistrableDomainMatchesChannelIDsWhitelist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::WHITELIST);
builder.AddRegisterableDomain(std::string(kGoogleDomain));
builder.AddRegisterableDomain(std::string(kLongETLDDomain));
builder.AddRegisterableDomain(std::string(kIPAddress));
@@ -329,9 +334,10 @@ TEST(RegistrableDomainFilterBuilderTest, MatchesChannelIDsWhitelist) {
RunTestCase(test_case, filter);
}
-TEST(RegistrableDomainFilterBuilderTest, MatchesChannelIDsBlacklist) {
- RegistrableDomainFilterBuilder builder(
- RegistrableDomainFilterBuilder::BLACKLIST);
+TEST(BrowsingDataFilterBuilderImplTest,
+ RegistrableDomainMatchesChannelIDsBlacklist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::BLACKLIST);
builder.AddRegisterableDomain(std::string(kGoogleDomain));
builder.AddRegisterableDomain(std::string(kLongETLDDomain));
builder.AddRegisterableDomain(std::string(kIPAddress));
@@ -360,9 +366,10 @@ TEST(RegistrableDomainFilterBuilderTest, MatchesChannelIDsBlacklist) {
RunTestCase(test_case, filter);
}
-TEST(RegistrableDomainFilterBuilderTest, MatchesPluginSitesWhitelist) {
- RegistrableDomainFilterBuilder builder(
- RegistrableDomainFilterBuilder::WHITELIST);
+TEST(BrowsingDataFilterBuilderImplTest,
+ RegistrableDomainMatchesPluginSitesWhitelist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::WHITELIST);
builder.AddRegisterableDomain(std::string(kGoogleDomain));
builder.AddRegisterableDomain(std::string(kLongETLDDomain));
builder.AddRegisterableDomain(std::string(kIPAddress));
@@ -394,9 +401,10 @@ TEST(RegistrableDomainFilterBuilderTest, MatchesPluginSitesWhitelist) {
RunTestCase(test_case, filter);
}
-TEST(RegistrableDomainFilterBuilderTest, MatchesPluginSitesBlacklist) {
- RegistrableDomainFilterBuilder builder(
- RegistrableDomainFilterBuilder::BLACKLIST);
+TEST(BrowsingDataFilterBuilderImplTest,
+ RegistrableDomainMatchesPluginSitesBlacklist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::BLACKLIST);
builder.AddRegisterableDomain(std::string(kGoogleDomain));
builder.AddRegisterableDomain(std::string(kLongETLDDomain));
builder.AddRegisterableDomain(std::string(kIPAddress));
@@ -427,3 +435,112 @@ TEST(RegistrableDomainFilterBuilderTest, MatchesPluginSitesBlacklist) {
for (TestCase test_case : test_cases)
RunTestCase(test_case, filter);
}
+
+TEST(BrowsingDataFilterBuilderImplTest, OriginWhitelist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::WHITELIST);
+ builder.AddOrigin(url::Origin(GURL("https://www.google.com")));
+ builder.AddOrigin(url::Origin(GURL("http://www.example.com")));
+ base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter();
+
+ TestCase test_cases[] = {
+ // Whitelist matches any URL on the specified origins.
+ { "https://www.google.com", true },
+ { "https://www.google.com/?q=test", true },
+ { "http://www.example.com", true },
+ { "http://www.example.com/index.html", true },
+ { "http://www.example.com/foo/bar", true },
+
+ // Subdomains are different origins.
+ { "https://test.www.google.com", false },
+
+ // Different scheme or port is a different origin.
+ { "https://www.google.com:8000", false },
+ { "https://www.example.com/index.html", false },
+
+ // Different host is a different origin.
+ { "https://www.youtube.com", false },
+ { "https://www.chromium.org", false },
+ };
+
+ for (TestCase test_case : test_cases)
+ RunTestCase(test_case, filter);
+}
+
+TEST(BrowsingDataFilterBuilderImplTest, OriginBlacklist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::BLACKLIST);
+ builder.AddOrigin(url::Origin(GURL("https://www.google.com")));
+ builder.AddOrigin(url::Origin(GURL("http://www.example.com")));
+ base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter();
+
+ TestCase test_cases[] = {
+ // URLS on explicitly specified origins are not matched.
+ { "https://www.google.com", false },
+ { "https://www.google.com/?q=test", false },
+ { "http://www.example.com", false },
+ { "http://www.example.com/index.html", false },
+ { "http://www.example.com/foo/bar", false },
+
+ // Subdomains are different origins.
+ { "https://test.www.google.com", true },
+
+ // The same hosts but with different schemes and ports
+ // are not blacklisted.
+ { "https://www.google.com:8000", true },
+ { "https://www.example.com/index.html", true },
+
+ // Different hosts are not blacklisted.
+ { "https://www.chrome.com", true },
+ { "https://www.youtube.com", true },
+ };
+
+ for (TestCase test_case : test_cases)
+ RunTestCase(test_case, filter);
+}
+
+TEST(BrowsingDataFilterBuilderImplTest, CombinedWhitelist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::WHITELIST);
+ builder.AddOrigin(url::Origin(GURL("https://google.com")));
+ builder.AddRegisterableDomain("example.com");
+ base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter();
+
+ TestCase test_cases[] = {
+ // Whitelist matches any URL on the specified origins.
+ { "https://google.com/foo/bar", true },
+ { "https://example.com/?q=test", true },
+
+ // Since www.google.com was added as an origin, its subdomains are not
+ // matched. However, example.com was added as a registrable domain,
+ // so its subdomains are matched.
+ { "https://www.google.com/foo/bar", false },
+ { "https://www.example.com/?q=test", true },
+ };
+
+ for (TestCase test_case : test_cases)
+ RunTestCase(test_case, filter);
+}
+
+TEST(BrowsingDataFilterBuilderImplTest, CombinedBlacklist) {
+ BrowsingDataFilterBuilderImpl builder(
+ BrowsingDataFilterBuilderImpl::BLACKLIST);
+ builder.AddOrigin(url::Origin(GURL("https://google.com")));
+ builder.AddRegisterableDomain("example.com");
+ base::Callback<bool(const GURL&)> filter = builder.BuildGeneralFilter();
+
+ TestCase test_cases[] = {
+ // URLS on explicitly specified origins are not matched.
+ { "https://google.com/foo/bar", false },
+ { "https://example.com/?q=test", false },
+
+ // Since www.google.com was added as an origin, its subdomains are
+ // not in the blacklist. However, example.com was added as a registrable
+ // domain, so its subdomains are also blacklisted.
+ { "https://www.google.com/foo/bar", true },
+ { "https://www.example.com/?q=test", false },
+ };
+
+ for (TestCase test_case : test_cases)
+ RunTestCase(test_case, filter);
+}

Powered by Google App Engine
This is Rietveld 408576698