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

Unified Diff: net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc

Issue 13979002: Add support for split PSL list distinctions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed chrome_frame compilation issue Created 7 years, 8 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: net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc
diff --git a/net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc b/net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc
index 8ad8a55bf0a551466c9c7e5245ecc8d39658f51b..2121f095dc74f83727ae8b8e5f76e2628ad547b6 100644
--- a/net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc
+++ b/net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc
@@ -18,29 +18,41 @@ namespace net {
namespace {
std::string GetDomainFromURL(const std::string& url) {
- return RegistryControlledDomainService::GetDomainAndRegistry(GURL(url));
+ return RegistryControlledDomainService::GetDomainAndRegistry(
+ GURL(url), RCDS::EXCLUDE_PRIVATE_REGISTRIES);
}
std::string GetDomainFromHost(const std::string& host) {
- return RegistryControlledDomainService::GetDomainAndRegistry(host);
+ return RegistryControlledDomainService::GetDomainAndRegistry(
+ host, RCDS::EXCLUDE_PRIVATE_REGISTRIES);
}
-size_t GetRegistryLengthFromURL(const std::string& url,
- bool allow_unknown_registries) {
- return RegistryControlledDomainService::GetRegistryLength(GURL(url),
- allow_unknown_registries);
+size_t GetRegistryLengthFromURL(
+ const std::string& url,
+ RegistryControlledDomainService::UnknownRegistryFilter unknown_filter) {
+ return RegistryControlledDomainService::GetRegistryLength(
+ GURL(url), unknown_filter, RCDS::EXCLUDE_PRIVATE_REGISTRIES);
}
-size_t GetRegistryLengthFromHost(const std::string& host,
- bool allow_unknown_registries) {
- return RegistryControlledDomainService::GetRegistryLength(host,
- allow_unknown_registries);
+size_t GetRegistryLengthFromURLIncludingPrivate(
+ const std::string& url,
+ RegistryControlledDomainService::UnknownRegistryFilter unknown_filter) {
+ return RegistryControlledDomainService::GetRegistryLength(
+ GURL(url), unknown_filter, RCDS::INCLUDE_PRIVATE_REGISTRIES);
+}
+
+size_t GetRegistryLengthFromHost(
+ const std::string& host,
+ RegistryControlledDomainService::UnknownRegistryFilter unknown_filter) {
+ return RegistryControlledDomainService::GetRegistryLength(
+ host, unknown_filter, RCDS::EXCLUDE_PRIVATE_REGISTRIES);
}
bool CompareDomains(const std::string& url1, const std::string& url2) {
GURL g1 = GURL(url1);
GURL g2 = GURL(url2);
- return RegistryControlledDomainService::SameDomainOrHost(g1, g2);
+ return RegistryControlledDomainService::SameDomainOrHost(
+ g1, g2, RCDS::EXCLUDE_PRIVATE_REGISTRIES);
}
} // namespace
@@ -120,71 +132,119 @@ TEST_F(RegistryControlledDomainTest, TestGetRegistryLength) {
UseDomainData(Perfect_Hash_Test1::FindDomain);
// Test GURL version of GetRegistryLength().
- EXPECT_EQ(2U, GetRegistryLengthFromURL("http://a.baz.jp/file.html", false));
- // 1
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.baz.jp./file.html", false));
- // 1
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://ac.jp", false)); // 2
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://a.bar.jp", false)); // 3
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://bar.jp", false)); // 3
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.bar.jp", false)); // 3 4
- EXPECT_EQ(12U, GetRegistryLengthFromURL("http://a.b.baz.bar.jp", false));
- // 4
- EXPECT_EQ(6U, GetRegistryLengthFromURL("http://baz.pref.bar.jp", false));
- // 5
- EXPECT_EQ(11U, GetRegistryLengthFromURL("http://a.b.bar.baz.com", false));
- // 6
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.d.c", false)); // 7
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://.a.d.c", false)); // 7
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://..a.d.c", false)); // 7
- EXPECT_EQ(1U, GetRegistryLengthFromURL("http://a.b.c", false)); // 7 8
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com", false)); // none
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com.", false)); // none
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://baz.com", true)); // none
- EXPECT_EQ(4U, GetRegistryLengthFromURL("http://baz.com.", true)); // none
-
- EXPECT_EQ(std::string::npos, GetRegistryLengthFromURL(std::string(), false));
- EXPECT_EQ(std::string::npos, GetRegistryLengthFromURL("http://", false));
- EXPECT_EQ(std::string::npos,
- GetRegistryLengthFromURL("file:///C:/file.html", false));
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.com..", false));
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://...", false));
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://192.168.0.1", false));
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", false));
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", true));
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", false));
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", true));
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http:////Comment", false));
+ EXPECT_EQ(2U, GetRegistryLengthFromURL(
+ "http://a.baz.jp/file.html", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 1
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://a.baz.jp./file.html", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 1
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://ac.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 2
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://a.bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 3
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 3
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://baz.bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4
+ EXPECT_EQ(12U, GetRegistryLengthFromURL(
+ "http://a.b.baz.bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 4
+ EXPECT_EQ(6U, GetRegistryLengthFromURL(
+ "http://baz.pref.bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 5
+ EXPECT_EQ(11U, GetRegistryLengthFromURL(
+ "http://a.b.bar.baz.com", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 6
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://a.d.c", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://.a.d.c", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://..a.d.c", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(1U, GetRegistryLengthFromURL(
+ "http://a.b.c", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://baz.com", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://baz.com.", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://baz.com", RCDS::INCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(4U, GetRegistryLengthFromURL(
+ "http://baz.com.", RCDS::INCLUDE_UNKNOWN_REGISTRIES)); // none
+
+ EXPECT_EQ(std::string::npos, GetRegistryLengthFromURL(
+ std::string(), RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(std::string::npos, GetRegistryLengthFromURL(
+ "http://", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(std::string::npos, GetRegistryLengthFromURL(
+ "file:///C:/file.html", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://foo.com..", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://...", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://192.168.0.1", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://localhost", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://localhost", RCDS::INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://localhost.", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://localhost.", RCDS::INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http:////Comment", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
// Test std::string version of GetRegistryLength(). Uses the same
// underpinnings as the GURL version, so this is really more of a check of
// CanonicalizeHost().
- EXPECT_EQ(2U, GetRegistryLengthFromHost("a.baz.jp", false)); // 1
- EXPECT_EQ(3U, GetRegistryLengthFromHost("a.baz.jp.", false)); // 1
- EXPECT_EQ(0U, GetRegistryLengthFromHost("ac.jp", false)); // 2
- EXPECT_EQ(0U, GetRegistryLengthFromHost("a.bar.jp", false)); // 3
- EXPECT_EQ(0U, GetRegistryLengthFromHost("bar.jp", false)); // 3
- EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.bar.jp", false)); // 3 4
- EXPECT_EQ(12U, GetRegistryLengthFromHost("a.b.baz.bar.jp", false)); // 4
- EXPECT_EQ(6U, GetRegistryLengthFromHost("baz.pref.bar.jp", false)); // 5
- EXPECT_EQ(11U, GetRegistryLengthFromHost("a.b.bar.baz.com", false)); // 6
- EXPECT_EQ(3U, GetRegistryLengthFromHost("a.d.c", false)); // 7
- EXPECT_EQ(3U, GetRegistryLengthFromHost(".a.d.c", false)); // 7
- EXPECT_EQ(3U, GetRegistryLengthFromHost("..a.d.c", false)); // 7
- EXPECT_EQ(1U, GetRegistryLengthFromHost("a.b.c", false)); // 7 8
- EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com", false)); // none
- EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com.", false)); // none
- EXPECT_EQ(3U, GetRegistryLengthFromHost("baz.com", true)); // none
- EXPECT_EQ(4U, GetRegistryLengthFromHost("baz.com.", true)); // none
-
- EXPECT_EQ(std::string::npos, GetRegistryLengthFromHost(std::string(), false));
- EXPECT_EQ(0U, GetRegistryLengthFromHost("foo.com..", false));
- EXPECT_EQ(0U, GetRegistryLengthFromHost("..", false));
- EXPECT_EQ(0U, GetRegistryLengthFromHost("192.168.0.1", false));
- EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", false));
- EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", true));
- EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", false));
- EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", true));
+ EXPECT_EQ(2U, GetRegistryLengthFromHost(
+ "a.baz.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 1
+ EXPECT_EQ(3U, GetRegistryLengthFromHost(
+ "a.baz.jp.", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 1
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "ac.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 2
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "a.bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 3
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 3
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "baz.bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4
+ EXPECT_EQ(12U, GetRegistryLengthFromHost(
+ "a.b.baz.bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 4
+ EXPECT_EQ(6U, GetRegistryLengthFromHost(
+ "baz.pref.bar.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 5
+ EXPECT_EQ(11U, GetRegistryLengthFromHost(
+ "a.b.bar.baz.com", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 6
+ EXPECT_EQ(3U, GetRegistryLengthFromHost(
+ "a.d.c", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(3U, GetRegistryLengthFromHost(
+ ".a.d.c", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(3U, GetRegistryLengthFromHost(
+ "..a.d.c", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(1U, GetRegistryLengthFromHost(
+ "a.b.c", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "baz.com", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "baz.com.", RCDS::EXCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(3U, GetRegistryLengthFromHost(
+ "baz.com", RCDS::INCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(4U, GetRegistryLengthFromHost(
+ "baz.com.", RCDS::INCLUDE_UNKNOWN_REGISTRIES)); // none
+
+ EXPECT_EQ(std::string::npos,
+ GetRegistryLengthFromHost(std::string(),
+ RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "foo.com..", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "..", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "192.168.0.1", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "localhost", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "localhost", RCDS::INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "localhost.", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost(
+ "localhost.", RCDS::INCLUDE_UNKNOWN_REGISTRIES));
}
TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) {
@@ -218,13 +278,65 @@ TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) {
TEST_F(RegistryControlledDomainTest, TestDefaultData) {
// Note that no data is set: we're using the default rules.
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://google.com", false));
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://stanford.edu", false));
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ustreas.gov", false));
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://icann.net", false));
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ferretcentral.org", false));
- EXPECT_EQ(0U, GetRegistryLengthFromURL("http://nowhere.foo", false));
- EXPECT_EQ(3U, GetRegistryLengthFromURL("http://nowhere.foo", true));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://google.com", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://stanford.edu", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://ustreas.gov", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://icann.net", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://ferretcentral.org", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://nowhere.foo", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL(
+ "http://nowhere.foo", RCDS::INCLUDE_UNKNOWN_REGISTRIES));
}
+TEST_F(RegistryControlledDomainTest, TestPrivateRegistryHandling) {
+ UseDomainData(Perfect_Hash_Test1::FindDomain);
+ // Testing the same dataset for INCLUDE_PRIVATE_REGISTRIES and
+ // EXCLUDE_PRIVATE_REGISTRIES arguments.
+ // For the domain data used for this test, the private registries are
+ // 'priv.no' and 'private'.
+
+ // Non-private registries.
+ EXPECT_EQ(2U, GetRegistryLengthFromURL(
+ "http://priv.no", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U, GetRegistryLengthFromURL(
+ "http://foo.priv.no", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U, GetRegistryLengthFromURL(
+ "http://foo.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U, GetRegistryLengthFromURL(
+ "http://www.foo.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://private", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://foo.private", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL(
+ "http://private", RCDS::INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(7U, GetRegistryLengthFromURL(
+ "http://foo.private", RCDS::INCLUDE_UNKNOWN_REGISTRIES));
+
+ // Private registries.
+ EXPECT_EQ(0U, GetRegistryLengthFromURLIncludingPrivate(
+ "http://priv.no", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(7U, GetRegistryLengthFromURLIncludingPrivate(
+ "http://foo.priv.no", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U, GetRegistryLengthFromURLIncludingPrivate(
+ "http://foo.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U, GetRegistryLengthFromURLIncludingPrivate(
+ "http://www.foo.jp", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURLIncludingPrivate(
+ "http://private", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(7U, GetRegistryLengthFromURLIncludingPrivate(
+ "http://foo.private", RCDS::EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURLIncludingPrivate(
+ "http://private", RCDS::INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(7U, GetRegistryLengthFromURLIncludingPrivate(
+ "http://foo.private", RCDS::INCLUDE_UNKNOWN_REGISTRIES));
+}
+
+
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698