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 |