| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "googleurl/src/gurl.h" | 5 #include "googleurl/src/gurl.h" |
| 6 #include "net/base/registry_controlled_domain.h" | 6 #include "net/base/registry_controlled_domain.h" |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 | 8 |
| 9 #include "effective_tld_names_unittest1.cc" | 9 #include "effective_tld_names_unittest1.cc" |
| 10 #undef TOTAL_KEYWORDS | 10 #undef TOTAL_KEYWORDS |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 virtual void TearDown() { | 48 virtual void TearDown() { |
| 49 TestRegistryControlledDomainService::UseDefaultInstance(); | 49 TestRegistryControlledDomainService::UseDefaultInstance(); |
| 50 } | 50 } |
| 51 }; | 51 }; |
| 52 | 52 |
| 53 | 53 |
| 54 std::string GetDomainFromURL(const std::string& url) { | 54 std::string GetDomainFromURL(const std::string& url) { |
| 55 return TestRegistryControlledDomainService::GetDomainAndRegistry(GURL(url)); | 55 return TestRegistryControlledDomainService::GetDomainAndRegistry(GURL(url)); |
| 56 } | 56 } |
| 57 | 57 |
| 58 std::string GetDomainFromHost(const std::wstring& host) { | 58 std::string GetDomainFromHost(const std::string& host) { |
| 59 return TestRegistryControlledDomainService::GetDomainAndRegistry(host); | 59 return TestRegistryControlledDomainService::GetDomainAndRegistry(host); |
| 60 } | 60 } |
| 61 | 61 |
| 62 size_t GetRegistryLengthFromURL(const std::string& url, | 62 size_t GetRegistryLengthFromURL(const std::string& url, |
| 63 bool allow_unknown_registries) { | 63 bool allow_unknown_registries) { |
| 64 return TestRegistryControlledDomainService::GetRegistryLength(GURL(url), | 64 return TestRegistryControlledDomainService::GetRegistryLength(GURL(url), |
| 65 allow_unknown_registries); | 65 allow_unknown_registries); |
| 66 } | 66 } |
| 67 | 67 |
| 68 size_t GetRegistryLengthFromHost(const std::wstring& host, | 68 size_t GetRegistryLengthFromHost(const std::string& host, |
| 69 bool allow_unknown_registries) { | 69 bool allow_unknown_registries) { |
| 70 return TestRegistryControlledDomainService::GetRegistryLength(host, | 70 return TestRegistryControlledDomainService::GetRegistryLength(host, |
| 71 allow_unknown_registries); | 71 allow_unknown_registries); |
| 72 } | 72 } |
| 73 | 73 |
| 74 bool CompareDomains(const std::string& url1, const std::string& url2) { | 74 bool CompareDomains(const std::string& url1, const std::string& url2) { |
| 75 GURL g1 = GURL(url1); | 75 GURL g1 = GURL(url1); |
| 76 GURL g2 = GURL(url2); | 76 GURL g2 = GURL(url2); |
| 77 return TestRegistryControlledDomainService::SameDomainOrHost(g1, g2); | 77 return TestRegistryControlledDomainService::SameDomainOrHost(g1, g2); |
| 78 } | 78 } |
| (...skipping 27 matching lines...) Expand all Loading... |
| 106 EXPECT_EQ("", GetDomainFromURL("http://foo.com..")); | 106 EXPECT_EQ("", GetDomainFromURL("http://foo.com..")); |
| 107 EXPECT_EQ("", GetDomainFromURL("http://...")); | 107 EXPECT_EQ("", GetDomainFromURL("http://...")); |
| 108 EXPECT_EQ("", GetDomainFromURL("http://192.168.0.1")); | 108 EXPECT_EQ("", GetDomainFromURL("http://192.168.0.1")); |
| 109 EXPECT_EQ("", GetDomainFromURL("http://localhost")); | 109 EXPECT_EQ("", GetDomainFromURL("http://localhost")); |
| 110 EXPECT_EQ("", GetDomainFromURL("http://localhost.")); | 110 EXPECT_EQ("", GetDomainFromURL("http://localhost.")); |
| 111 EXPECT_EQ("", GetDomainFromURL("http:////Comment")); | 111 EXPECT_EQ("", GetDomainFromURL("http:////Comment")); |
| 112 | 112 |
| 113 // Test std::wstring version of GetDomainAndRegistry(). Uses the same | 113 // Test std::wstring version of GetDomainAndRegistry(). Uses the same |
| 114 // underpinnings as the GURL version, so this is really more of a check of | 114 // underpinnings as the GURL version, so this is really more of a check of |
| 115 // CanonicalizeHost(). | 115 // CanonicalizeHost(). |
| 116 EXPECT_EQ("baz.jp", GetDomainFromHost(L"a.baz.jp")); // 1 | 116 EXPECT_EQ("baz.jp", GetDomainFromHost("a.baz.jp")); // 1 |
| 117 EXPECT_EQ("baz.jp.", GetDomainFromHost(L"a.baz.jp.")); // 1 | 117 EXPECT_EQ("baz.jp.", GetDomainFromHost("a.baz.jp.")); // 1 |
| 118 EXPECT_EQ("", GetDomainFromHost(L"ac.jp")); // 2 | 118 EXPECT_EQ("", GetDomainFromHost("ac.jp")); // 2 |
| 119 EXPECT_EQ("", GetDomainFromHost(L"a.bar.jp")); // 3 | 119 EXPECT_EQ("", GetDomainFromHost("a.bar.jp")); // 3 |
| 120 EXPECT_EQ("", GetDomainFromHost(L"bar.jp")); // 3 | 120 EXPECT_EQ("", GetDomainFromHost("bar.jp")); // 3 |
| 121 EXPECT_EQ("", GetDomainFromHost(L"baz.bar.jp")); // 3 4 | 121 EXPECT_EQ("", GetDomainFromHost("baz.bar.jp")); // 3 4 |
| 122 EXPECT_EQ("a.b.baz.bar.jp", GetDomainFromHost(L"a.b.baz.bar.jp")); // 3 4 | 122 EXPECT_EQ("a.b.baz.bar.jp", GetDomainFromHost("a.b.baz.bar.jp")); // 3 4 |
| 123 EXPECT_EQ("pref.bar.jp", GetDomainFromHost(L"baz.pref.bar.jp")); // 5 | 123 EXPECT_EQ("pref.bar.jp", GetDomainFromHost("baz.pref.bar.jp")); // 5 |
| 124 EXPECT_EQ("b.bar.baz.com.", GetDomainFromHost(L"a.b.bar.baz.com.")); // 6 | 124 EXPECT_EQ("b.bar.baz.com.", GetDomainFromHost("a.b.bar.baz.com.")); // 6 |
| 125 EXPECT_EQ("a.d.c", GetDomainFromHost(L"a.d.c")); // 7 | 125 EXPECT_EQ("a.d.c", GetDomainFromHost("a.d.c")); // 7 |
| 126 EXPECT_EQ("a.d.c", GetDomainFromHost(L".a.d.c")); // 7 | 126 EXPECT_EQ("a.d.c", GetDomainFromHost(".a.d.c")); // 7 |
| 127 EXPECT_EQ("a.d.c", GetDomainFromHost(L"..a.d.c")); // 7 | 127 EXPECT_EQ("a.d.c", GetDomainFromHost("..a.d.c")); // 7 |
| 128 EXPECT_EQ("b.c", GetDomainFromHost(L"a.b.c")); // 7 8 | 128 EXPECT_EQ("b.c", GetDomainFromHost("a.b.c")); // 7 8 |
| 129 EXPECT_EQ("baz.com", GetDomainFromHost(L"baz.com")); // none | 129 EXPECT_EQ("baz.com", GetDomainFromHost("baz.com")); // none |
| 130 EXPECT_EQ("baz.com.", GetDomainFromHost(L"baz.com.")); // none | 130 EXPECT_EQ("baz.com.", GetDomainFromHost("baz.com.")); // none |
| 131 | 131 |
| 132 EXPECT_EQ("", GetDomainFromHost(L"")); | 132 EXPECT_EQ("", GetDomainFromHost("")); |
| 133 EXPECT_EQ("", GetDomainFromHost(L"foo.com..")); | 133 EXPECT_EQ("", GetDomainFromHost("foo.com..")); |
| 134 EXPECT_EQ("", GetDomainFromHost(L"...")); | 134 EXPECT_EQ("", GetDomainFromHost("...")); |
| 135 EXPECT_EQ("", GetDomainFromHost(L"192.168.0.1")); | 135 EXPECT_EQ("", GetDomainFromHost("192.168.0.1")); |
| 136 EXPECT_EQ("", GetDomainFromHost(L"localhost.")); | 136 EXPECT_EQ("", GetDomainFromHost("localhost.")); |
| 137 EXPECT_EQ("", GetDomainFromHost(L".localhost.")); | 137 EXPECT_EQ("", GetDomainFromHost(".localhost.")); |
| 138 } | 138 } |
| 139 | 139 |
| 140 TEST_F(RegistryControlledDomainTest, TestGetRegistryLength) { | 140 TEST_F(RegistryControlledDomainTest, TestGetRegistryLength) { |
| 141 TestRegistryControlledDomainService::UseDomainData( | 141 TestRegistryControlledDomainService::UseDomainData( |
| 142 Perfect_Hash_Test1::FindDomain); | 142 Perfect_Hash_Test1::FindDomain); |
| 143 | 143 |
| 144 // Test GURL version of GetRegistryLength(). | 144 // Test GURL version of GetRegistryLength(). |
| 145 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://a.baz.jp/file.html", false)); | 145 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://a.baz.jp/file.html", false)); |
| 146 // 1 | 146 // 1 |
| 147 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.baz.jp./file.html", false)); | 147 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.baz.jp./file.html", false)); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 174 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://192.168.0.1", false)); | 174 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://192.168.0.1", false)); |
| 175 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", false)); | 175 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", false)); |
| 176 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", true)); | 176 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", true)); |
| 177 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", false)); | 177 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", false)); |
| 178 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", true)); | 178 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", true)); |
| 179 EXPECT_EQ(0U, GetRegistryLengthFromURL("http:////Comment", false)); | 179 EXPECT_EQ(0U, GetRegistryLengthFromURL("http:////Comment", false)); |
| 180 | 180 |
| 181 // Test std::wstring version of GetRegistryLength(). Uses the same | 181 // Test std::wstring version of GetRegistryLength(). Uses the same |
| 182 // underpinnings as the GURL version, so this is really more of a check of | 182 // underpinnings as the GURL version, so this is really more of a check of |
| 183 // CanonicalizeHost(). | 183 // CanonicalizeHost(). |
| 184 EXPECT_EQ(2U, GetRegistryLengthFromHost(L"a.baz.jp", false)); // 1 | 184 EXPECT_EQ(2U, GetRegistryLengthFromHost("a.baz.jp", false)); // 1 |
| 185 EXPECT_EQ(3U, GetRegistryLengthFromHost(L"a.baz.jp.", false)); // 1 | 185 EXPECT_EQ(3U, GetRegistryLengthFromHost("a.baz.jp.", false)); // 1 |
| 186 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"ac.jp", false)); // 2 | 186 EXPECT_EQ(0U, GetRegistryLengthFromHost("ac.jp", false)); // 2 |
| 187 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"a.bar.jp", false)); // 3 | 187 EXPECT_EQ(0U, GetRegistryLengthFromHost("a.bar.jp", false)); // 3 |
| 188 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"bar.jp", false)); // 3 | 188 EXPECT_EQ(0U, GetRegistryLengthFromHost("bar.jp", false)); // 3 |
| 189 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"baz.bar.jp", false)); // 3 4 | 189 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.bar.jp", false)); // 3 4 |
| 190 EXPECT_EQ(12U, GetRegistryLengthFromHost(L"a.b.baz.bar.jp", false)); // 4 | 190 EXPECT_EQ(12U, GetRegistryLengthFromHost("a.b.baz.bar.jp", false)); // 4 |
| 191 EXPECT_EQ(6U, GetRegistryLengthFromHost(L"baz.pref.bar.jp", false)); // 5 | 191 EXPECT_EQ(6U, GetRegistryLengthFromHost("baz.pref.bar.jp", false)); // 5 |
| 192 EXPECT_EQ(11U, GetRegistryLengthFromHost(L"a.b.bar.baz.com", false)); | 192 EXPECT_EQ(11U, GetRegistryLengthFromHost("a.b.bar.baz.com", false)); // 6 |
| 193 // 6 | 193 EXPECT_EQ(3U, GetRegistryLengthFromHost("a.d.c", false)); // 7 |
| 194 EXPECT_EQ(3U, GetRegistryLengthFromHost(L"a.d.c", false)); // 7 | 194 EXPECT_EQ(3U, GetRegistryLengthFromHost(".a.d.c", false)); // 7 |
| 195 EXPECT_EQ(3U, GetRegistryLengthFromHost(L".a.d.c", false)); // 7 | 195 EXPECT_EQ(3U, GetRegistryLengthFromHost("..a.d.c", false)); // 7 |
| 196 EXPECT_EQ(3U, GetRegistryLengthFromHost(L"..a.d.c", false)); // 7 | 196 EXPECT_EQ(1U, GetRegistryLengthFromHost("a.b.c", false)); // 7 8 |
| 197 EXPECT_EQ(1U, GetRegistryLengthFromHost(L"a.b.c", false)); // 7 8 | 197 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com", false)); // none |
| 198 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"baz.com", false)); // none | 198 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com.", false)); // none |
| 199 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"baz.com.", false)); // none | 199 EXPECT_EQ(3U, GetRegistryLengthFromHost("baz.com", true)); // none |
| 200 EXPECT_EQ(3U, GetRegistryLengthFromHost(L"baz.com", true)); // none | 200 EXPECT_EQ(4U, GetRegistryLengthFromHost("baz.com.", true)); // none |
| 201 EXPECT_EQ(4U, GetRegistryLengthFromHost(L"baz.com.", true)); // none | |
| 202 | 201 |
| 203 EXPECT_EQ(std::string::npos, GetRegistryLengthFromHost(L"", false)); | 202 EXPECT_EQ(std::string::npos, GetRegistryLengthFromHost("", false)); |
| 204 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"foo.com..", false)); | 203 EXPECT_EQ(0U, GetRegistryLengthFromHost("foo.com..", false)); |
| 205 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"..", false)); | 204 EXPECT_EQ(0U, GetRegistryLengthFromHost("..", false)); |
| 206 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"192.168.0.1", false)); | 205 EXPECT_EQ(0U, GetRegistryLengthFromHost("192.168.0.1", false)); |
| 207 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"localhost", false)); | 206 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", false)); |
| 208 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"localhost", true)); | 207 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", true)); |
| 209 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"localhost.", false)); | 208 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", false)); |
| 210 EXPECT_EQ(0U, GetRegistryLengthFromHost(L"localhost.", true)); | 209 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", true)); |
| 211 } | 210 } |
| 212 | 211 |
| 213 TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) { | 212 TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) { |
| 214 TestRegistryControlledDomainService::UseDomainData( | 213 TestRegistryControlledDomainService::UseDomainData( |
| 215 Perfect_Hash_Test2::FindDomain); | 214 Perfect_Hash_Test2::FindDomain); |
| 216 | 215 |
| 217 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", | 216 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", |
| 218 "http://a.b.bar.jp/file.html")); // b.bar.jp | 217 "http://a.b.bar.jp/file.html")); // b.bar.jp |
| 219 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", | 218 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", |
| 220 "http://b.b.bar.jp/file.html")); // b.bar.jp | 219 "http://b.b.bar.jp/file.html")); // b.bar.jp |
| (...skipping 27 matching lines...) Expand all Loading... |
| 248 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://stanford.edu", false)); | 247 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://stanford.edu", false)); |
| 249 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ustreas.gov", false)); | 248 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ustreas.gov", false)); |
| 250 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://icann.net", false)); | 249 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://icann.net", false)); |
| 251 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ferretcentral.org", false)); | 250 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ferretcentral.org", false)); |
| 252 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://nowhere.foo", false)); | 251 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://nowhere.foo", false)); |
| 253 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://nowhere.foo", true)); | 252 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://nowhere.foo", true)); |
| 254 } | 253 } |
| 255 | 254 |
| 256 } // namespace | 255 } // namespace |
| 257 } // namespace net | 256 } // namespace net |
| OLD | NEW |