Index: net/base/registry_controlled_domain_unittest.cc |
=================================================================== |
--- net/base/registry_controlled_domain_unittest.cc (revision 147624) |
+++ net/base/registry_controlled_domain_unittest.cc (working copy) |
@@ -1,230 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "googleurl/src/gurl.h" |
-#include "net/base/registry_controlled_domain.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-#include "effective_tld_names_unittest1.cc" |
-#undef TOTAL_KEYWORDS |
-#undef MIN_WORD_LENGTH |
-#undef MAX_WORD_LENGTH |
-#undef MIN_HASH_VALUE |
-#undef MAX_HASH_VALUE |
-#include "effective_tld_names_unittest2.cc" |
- |
-namespace net { |
-namespace { |
- |
-std::string GetDomainFromURL(const std::string& url) { |
- return RegistryControlledDomainService::GetDomainAndRegistry(GURL(url)); |
-} |
- |
-std::string GetDomainFromHost(const std::string& host) { |
- return RegistryControlledDomainService::GetDomainAndRegistry(host); |
-} |
- |
-size_t GetRegistryLengthFromURL(const std::string& url, |
- bool allow_unknown_registries) { |
- return RegistryControlledDomainService::GetRegistryLength(GURL(url), |
- allow_unknown_registries); |
-} |
- |
-size_t GetRegistryLengthFromHost(const std::string& host, |
- bool allow_unknown_registries) { |
- return RegistryControlledDomainService::GetRegistryLength(host, |
- allow_unknown_registries); |
-} |
- |
-bool CompareDomains(const std::string& url1, const std::string& url2) { |
- GURL g1 = GURL(url1); |
- GURL g2 = GURL(url2); |
- return RegistryControlledDomainService::SameDomainOrHost(g1, g2); |
-} |
- |
-} // namespace |
- |
-class RegistryControlledDomainTest : public testing::Test { |
- protected: |
- typedef RegistryControlledDomainService::FindDomainPtr FindDomainPtr; |
- void UseDomainData(FindDomainPtr function) { |
- RegistryControlledDomainService::UseFindDomainFunction(function); |
- } |
- |
- virtual void TearDown() { |
- RegistryControlledDomainService::UseFindDomainFunction(NULL); |
- } |
-}; |
- |
-TEST_F(RegistryControlledDomainTest, TestGetDomainAndRegistry) { |
- UseDomainData(Perfect_Hash_Test1::FindDomain); |
- |
- // Test GURL version of GetDomainAndRegistry(). |
- EXPECT_EQ("baz.jp", GetDomainFromURL("http://a.baz.jp/file.html")); // 1 |
- EXPECT_EQ("baz.jp.", GetDomainFromURL("http://a.baz.jp./file.html")); // 1 |
- EXPECT_EQ("", GetDomainFromURL("http://ac.jp")); // 2 |
- EXPECT_EQ("", GetDomainFromURL("http://a.bar.jp")); // 3 |
- EXPECT_EQ("", GetDomainFromURL("http://bar.jp")); // 3 |
- EXPECT_EQ("", GetDomainFromURL("http://baz.bar.jp")); // 3 4 |
- EXPECT_EQ("a.b.baz.bar.jp", GetDomainFromURL("http://a.b.baz.bar.jp")); |
- // 4 |
- EXPECT_EQ("pref.bar.jp", GetDomainFromURL("http://baz.pref.bar.jp")); // 5 |
- EXPECT_EQ("b.bar.baz.com.", GetDomainFromURL("http://a.b.bar.baz.com.")); |
- // 6 |
- EXPECT_EQ("a.d.c", GetDomainFromURL("http://a.d.c")); // 7 |
- EXPECT_EQ("a.d.c", GetDomainFromURL("http://.a.d.c")); // 7 |
- EXPECT_EQ("a.d.c", GetDomainFromURL("http://..a.d.c")); // 7 |
- EXPECT_EQ("b.c", GetDomainFromURL("http://a.b.c")); // 7 8 |
- EXPECT_EQ("baz.com", GetDomainFromURL("http://baz.com")); // none |
- EXPECT_EQ("baz.com.", GetDomainFromURL("http://baz.com.")); // none |
- |
- EXPECT_EQ("", GetDomainFromURL("")); |
- EXPECT_EQ("", GetDomainFromURL("http://")); |
- EXPECT_EQ("", GetDomainFromURL("file:///C:/file.html")); |
- EXPECT_EQ("", GetDomainFromURL("http://foo.com..")); |
- EXPECT_EQ("", GetDomainFromURL("http://...")); |
- EXPECT_EQ("", GetDomainFromURL("http://192.168.0.1")); |
- EXPECT_EQ("", GetDomainFromURL("http://localhost")); |
- EXPECT_EQ("", GetDomainFromURL("http://localhost.")); |
- EXPECT_EQ("", GetDomainFromURL("http:////Comment")); |
- |
- // Test std::string version of GetDomainAndRegistry(). Uses the same |
- // underpinnings as the GURL version, so this is really more of a check of |
- // CanonicalizeHost(). |
- EXPECT_EQ("baz.jp", GetDomainFromHost("a.baz.jp")); // 1 |
- EXPECT_EQ("baz.jp.", GetDomainFromHost("a.baz.jp.")); // 1 |
- EXPECT_EQ("", GetDomainFromHost("ac.jp")); // 2 |
- EXPECT_EQ("", GetDomainFromHost("a.bar.jp")); // 3 |
- EXPECT_EQ("", GetDomainFromHost("bar.jp")); // 3 |
- EXPECT_EQ("", GetDomainFromHost("baz.bar.jp")); // 3 4 |
- EXPECT_EQ("a.b.baz.bar.jp", GetDomainFromHost("a.b.baz.bar.jp")); // 3 4 |
- EXPECT_EQ("pref.bar.jp", GetDomainFromHost("baz.pref.bar.jp")); // 5 |
- EXPECT_EQ("b.bar.baz.com.", GetDomainFromHost("a.b.bar.baz.com.")); // 6 |
- EXPECT_EQ("a.d.c", GetDomainFromHost("a.d.c")); // 7 |
- EXPECT_EQ("a.d.c", GetDomainFromHost(".a.d.c")); // 7 |
- EXPECT_EQ("a.d.c", GetDomainFromHost("..a.d.c")); // 7 |
- EXPECT_EQ("b.c", GetDomainFromHost("a.b.c")); // 7 8 |
- EXPECT_EQ("baz.com", GetDomainFromHost("baz.com")); // none |
- EXPECT_EQ("baz.com.", GetDomainFromHost("baz.com.")); // none |
- |
- EXPECT_EQ("", GetDomainFromHost("")); |
- EXPECT_EQ("", GetDomainFromHost("foo.com..")); |
- EXPECT_EQ("", GetDomainFromHost("...")); |
- EXPECT_EQ("", GetDomainFromHost("192.168.0.1")); |
- EXPECT_EQ("", GetDomainFromHost("localhost.")); |
- EXPECT_EQ("", GetDomainFromHost(".localhost.")); |
-} |
- |
-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("", 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)); |
- |
- // 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("", 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)); |
-} |
- |
-TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) { |
- UseDomainData(Perfect_Hash_Test2::FindDomain); |
- |
- EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", |
- "http://a.b.bar.jp/file.html")); // b.bar.jp |
- EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", |
- "http://b.b.bar.jp/file.html")); // b.bar.jp |
- EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html", // foo.jp |
- "http://a.not.jp/file.html")); // not.jp |
- EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html", // foo.jp |
- "http://a.foo.jp./file.html")); // foo.jp. |
- EXPECT_FALSE(CompareDomains("http://a.com/file.html", // a.com |
- "http://b.com/file.html")); // b.com |
- EXPECT_TRUE(CompareDomains("http://a.x.com/file.html", |
- "http://b.x.com/file.html")); // x.com |
- EXPECT_TRUE(CompareDomains("http://a.x.com/file.html", |
- "http://.x.com/file.html")); // x.com |
- EXPECT_TRUE(CompareDomains("http://a.x.com/file.html", |
- "http://..b.x.com/file.html")); // x.com |
- EXPECT_TRUE(CompareDomains("http://intranet/file.html", |
- "http://intranet/file.html")); // intranet |
- EXPECT_TRUE(CompareDomains("http://127.0.0.1/file.html", |
- "http://127.0.0.1/file.html")); // 127.0.0.1 |
- EXPECT_FALSE(CompareDomains("http://192.168.0.1/file.html", // 192.168.0.1 |
- "http://127.0.0.1/file.html")); // 127.0.0.1 |
- EXPECT_FALSE(CompareDomains("file:///C:/file.html", |
- "file:///C:/file.html")); // no host |
-} |
- |
-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)); |
-} |
- |
-} // namespace net |