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

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

Issue 15140003: Add support for split Public Suffix List distinctions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased again Created 7 years, 7 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
« no previous file with comments | « net/base/registry_controlled_domains/registry_controlled_domain.cc ('k') | net/base/sdch_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..117c80182b86d1c0533eb56e99fed583062417bf 100644
--- a/net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc
+++ b/net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc
@@ -15,45 +15,55 @@
#include "effective_tld_names_unittest2.cc"
namespace net {
+namespace registry_controlled_domains {
namespace {
std::string GetDomainFromURL(const std::string& url) {
- return RegistryControlledDomainService::GetDomainAndRegistry(GURL(url));
+ return GetDomainAndRegistry(GURL(url), EXCLUDE_PRIVATE_REGISTRIES);
}
std::string GetDomainFromHost(const std::string& host) {
- return RegistryControlledDomainService::GetDomainAndRegistry(host);
+ return GetDomainAndRegistry(host, 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,
+ UnknownRegistryFilter unknown_filter) {
+ return GetRegistryLength(GURL(url),
+ unknown_filter,
+ 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,
+ UnknownRegistryFilter unknown_filter) {
+ return GetRegistryLength(GURL(url),
+ unknown_filter,
+ INCLUDE_PRIVATE_REGISTRIES);
+}
+
+size_t GetRegistryLengthFromHost(
+ const std::string& host,
+ UnknownRegistryFilter unknown_filter) {
+ return GetRegistryLength(host, unknown_filter, 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 SameDomainOrHost(g1, g2, EXCLUDE_PRIVATE_REGISTRIES);
}
} // namespace
class RegistryControlledDomainTest : public testing::Test {
protected:
- typedef RegistryControlledDomainService::FindDomainPtr FindDomainPtr;
void UseDomainData(FindDomainPtr function) {
- RegistryControlledDomainService::UseFindDomainFunction(function);
+ SetFindDomainFunctionForTesting(function);
}
virtual void TearDown() {
- RegistryControlledDomainService::UseFindDomainFunction(NULL);
+ SetFindDomainFunctionForTesting(NULL);
}
};
@@ -120,71 +130,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(2U, GetRegistryLengthFromURL("http://a.baz.jp/file.html",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 1
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.baz.jp./file.html",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 1
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://ac.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 2
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://a.bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 3
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 3
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4
+ EXPECT_EQ(12U, GetRegistryLengthFromURL("http://a.b.baz.bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 4
+ EXPECT_EQ(6U, GetRegistryLengthFromURL("http://baz.pref.bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 5
+ EXPECT_EQ(11U, GetRegistryLengthFromURL("http://a.b.bar.baz.com",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 6
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.d.c",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://.a.d.c",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://..a.d.c",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(1U, GetRegistryLengthFromURL("http://a.b.c",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com.",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://baz.com",
+ INCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(4U, GetRegistryLengthFromURL("http://baz.com.",
+ INCLUDE_UNKNOWN_REGISTRIES)); // none
+
+ EXPECT_EQ(std::string::npos,
+ GetRegistryLengthFromURL(std::string(), EXCLUDE_UNKNOWN_REGISTRIES));
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));
+ GetRegistryLengthFromURL("http://", EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(std::string::npos,
+ GetRegistryLengthFromURL("file:///C:/file.html",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.com..",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://...",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://192.168.0.1",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost",
+ INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.",
+ INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http:////Comment",
+ 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",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 1
+ EXPECT_EQ(3U, GetRegistryLengthFromHost("a.baz.jp.",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 1
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("ac.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 2
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("a.bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 3
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 3
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4
+ EXPECT_EQ(12U, GetRegistryLengthFromHost("a.b.baz.bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 4
+ EXPECT_EQ(6U, GetRegistryLengthFromHost("baz.pref.bar.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 5
+ EXPECT_EQ(11U, GetRegistryLengthFromHost("a.b.bar.baz.com",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 6
+ EXPECT_EQ(3U, GetRegistryLengthFromHost("a.d.c",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(3U, GetRegistryLengthFromHost(".a.d.c",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(3U, GetRegistryLengthFromHost("..a.d.c",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 7
+ EXPECT_EQ(1U, GetRegistryLengthFromHost("a.b.c",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com.",
+ EXCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(3U, GetRegistryLengthFromHost("baz.com",
+ INCLUDE_UNKNOWN_REGISTRIES)); // none
+ EXPECT_EQ(4U, GetRegistryLengthFromHost("baz.com.",
+ INCLUDE_UNKNOWN_REGISTRIES)); // none
+
+ EXPECT_EQ(std::string::npos,
+ GetRegistryLengthFromHost(std::string(), EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("foo.com..",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("..",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("192.168.0.1",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost",
+ INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.",
+ INCLUDE_UNKNOWN_REGISTRIES));
}
TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) {
@@ -218,13 +276,74 @@ 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",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://stanford.edu",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ustreas.gov",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://icann.net",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ferretcentral.org",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://nowhere.foo",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(3U, GetRegistryLengthFromURL("http://nowhere.foo",
+ 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",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U, GetRegistryLengthFromURL("http://foo.priv.no",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U, GetRegistryLengthFromURL("http://foo.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U, GetRegistryLengthFromURL("http://www.foo.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://private",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.private",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U, GetRegistryLengthFromURL("http://private",
+ INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(7U, GetRegistryLengthFromURL("http://foo.private",
+ INCLUDE_UNKNOWN_REGISTRIES));
+
+ // Private registries.
+ EXPECT_EQ(0U,
+ GetRegistryLengthFromURLIncludingPrivate("http://priv.no",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(7U,
+ GetRegistryLengthFromURLIncludingPrivate("http://foo.priv.no",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U,
+ GetRegistryLengthFromURLIncludingPrivate("http://foo.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(2U,
+ GetRegistryLengthFromURLIncludingPrivate("http://www.foo.jp",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U,
+ GetRegistryLengthFromURLIncludingPrivate("http://private",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(7U,
+ GetRegistryLengthFromURLIncludingPrivate("http://foo.private",
+ EXCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(0U,
+ GetRegistryLengthFromURLIncludingPrivate("http://private",
+ INCLUDE_UNKNOWN_REGISTRIES));
+ EXPECT_EQ(7U,
+ GetRegistryLengthFromURLIncludingPrivate("http://foo.private",
+ INCLUDE_UNKNOWN_REGISTRIES));
+}
+
+
+} // namespace registry_controlled_domains
} // namespace net
« no previous file with comments | « net/base/registry_controlled_domains/registry_controlled_domain.cc ('k') | net/base/sdch_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698