OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_domains/registry_controlled_domain.h" | 6 #include "net/base/registry_controlled_domains/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 |
11 #undef MIN_WORD_LENGTH | 11 #undef MIN_WORD_LENGTH |
12 #undef MAX_WORD_LENGTH | 12 #undef MAX_WORD_LENGTH |
13 #undef MIN_HASH_VALUE | 13 #undef MIN_HASH_VALUE |
14 #undef MAX_HASH_VALUE | 14 #undef MAX_HASH_VALUE |
15 #include "effective_tld_names_unittest2.cc" | 15 #include "effective_tld_names_unittest2.cc" |
16 | 16 |
17 namespace net { | 17 namespace net { |
| 18 namespace registry_controlled_domains { |
18 namespace { | 19 namespace { |
19 | 20 |
20 std::string GetDomainFromURL(const std::string& url) { | 21 std::string GetDomainFromURL(const std::string& url) { |
21 return RegistryControlledDomainService::GetDomainAndRegistry(GURL(url)); | 22 return GetDomainAndRegistry(GURL(url), EXCLUDE_PRIVATE_REGISTRIES); |
22 } | 23 } |
23 | 24 |
24 std::string GetDomainFromHost(const std::string& host) { | 25 std::string GetDomainFromHost(const std::string& host) { |
25 return RegistryControlledDomainService::GetDomainAndRegistry(host); | 26 return GetDomainAndRegistry(host, EXCLUDE_PRIVATE_REGISTRIES); |
26 } | 27 } |
27 | 28 |
28 size_t GetRegistryLengthFromURL(const std::string& url, | 29 size_t GetRegistryLengthFromURL( |
29 bool allow_unknown_registries) { | 30 const std::string& url, |
30 return RegistryControlledDomainService::GetRegistryLength(GURL(url), | 31 UnknownRegistryFilter unknown_filter) { |
31 allow_unknown_registries); | 32 return GetRegistryLength(GURL(url), |
| 33 unknown_filter, |
| 34 EXCLUDE_PRIVATE_REGISTRIES); |
32 } | 35 } |
33 | 36 |
34 size_t GetRegistryLengthFromHost(const std::string& host, | 37 size_t GetRegistryLengthFromURLIncludingPrivate( |
35 bool allow_unknown_registries) { | 38 const std::string& url, |
36 return RegistryControlledDomainService::GetRegistryLength(host, | 39 UnknownRegistryFilter unknown_filter) { |
37 allow_unknown_registries); | 40 return GetRegistryLength(GURL(url), |
| 41 unknown_filter, |
| 42 INCLUDE_PRIVATE_REGISTRIES); |
| 43 } |
| 44 |
| 45 size_t GetRegistryLengthFromHost( |
| 46 const std::string& host, |
| 47 UnknownRegistryFilter unknown_filter) { |
| 48 return GetRegistryLength(host, unknown_filter, EXCLUDE_PRIVATE_REGISTRIES); |
38 } | 49 } |
39 | 50 |
40 bool CompareDomains(const std::string& url1, const std::string& url2) { | 51 bool CompareDomains(const std::string& url1, const std::string& url2) { |
41 GURL g1 = GURL(url1); | 52 GURL g1 = GURL(url1); |
42 GURL g2 = GURL(url2); | 53 GURL g2 = GURL(url2); |
43 return RegistryControlledDomainService::SameDomainOrHost(g1, g2); | 54 return SameDomainOrHost(g1, g2, EXCLUDE_PRIVATE_REGISTRIES); |
44 } | 55 } |
45 | 56 |
46 } // namespace | 57 } // namespace |
47 | 58 |
48 class RegistryControlledDomainTest : public testing::Test { | 59 class RegistryControlledDomainTest : public testing::Test { |
49 protected: | 60 protected: |
50 typedef RegistryControlledDomainService::FindDomainPtr FindDomainPtr; | |
51 void UseDomainData(FindDomainPtr function) { | 61 void UseDomainData(FindDomainPtr function) { |
52 RegistryControlledDomainService::UseFindDomainFunction(function); | 62 SetFindDomainFunctionForTesting(function); |
53 } | 63 } |
54 | 64 |
55 virtual void TearDown() { | 65 virtual void TearDown() { |
56 RegistryControlledDomainService::UseFindDomainFunction(NULL); | 66 SetFindDomainFunctionForTesting(NULL); |
57 } | 67 } |
58 }; | 68 }; |
59 | 69 |
60 TEST_F(RegistryControlledDomainTest, TestGetDomainAndRegistry) { | 70 TEST_F(RegistryControlledDomainTest, TestGetDomainAndRegistry) { |
61 UseDomainData(Perfect_Hash_Test1::FindDomain); | 71 UseDomainData(Perfect_Hash_Test1::FindDomain); |
62 | 72 |
63 // Test GURL version of GetDomainAndRegistry(). | 73 // Test GURL version of GetDomainAndRegistry(). |
64 EXPECT_EQ("baz.jp", GetDomainFromURL("http://a.baz.jp/file.html")); // 1 | 74 EXPECT_EQ("baz.jp", GetDomainFromURL("http://a.baz.jp/file.html")); // 1 |
65 EXPECT_EQ("baz.jp.", GetDomainFromURL("http://a.baz.jp./file.html")); // 1 | 75 EXPECT_EQ("baz.jp.", GetDomainFromURL("http://a.baz.jp./file.html")); // 1 |
66 EXPECT_EQ("", GetDomainFromURL("http://ac.jp")); // 2 | 76 EXPECT_EQ("", GetDomainFromURL("http://ac.jp")); // 2 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 EXPECT_EQ("", GetDomainFromHost("...")); | 123 EXPECT_EQ("", GetDomainFromHost("...")); |
114 EXPECT_EQ("", GetDomainFromHost("192.168.0.1")); | 124 EXPECT_EQ("", GetDomainFromHost("192.168.0.1")); |
115 EXPECT_EQ("", GetDomainFromHost("localhost.")); | 125 EXPECT_EQ("", GetDomainFromHost("localhost.")); |
116 EXPECT_EQ("", GetDomainFromHost(".localhost.")); | 126 EXPECT_EQ("", GetDomainFromHost(".localhost.")); |
117 } | 127 } |
118 | 128 |
119 TEST_F(RegistryControlledDomainTest, TestGetRegistryLength) { | 129 TEST_F(RegistryControlledDomainTest, TestGetRegistryLength) { |
120 UseDomainData(Perfect_Hash_Test1::FindDomain); | 130 UseDomainData(Perfect_Hash_Test1::FindDomain); |
121 | 131 |
122 // Test GURL version of GetRegistryLength(). | 132 // Test GURL version of GetRegistryLength(). |
123 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://a.baz.jp/file.html", false)); | 133 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://a.baz.jp/file.html", |
124 // 1 | 134 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 |
125 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.baz.jp./file.html", false)); | 135 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.baz.jp./file.html", |
126 // 1 | 136 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 |
127 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://ac.jp", false)); // 2 | 137 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://ac.jp", |
128 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://a.bar.jp", false)); // 3 | 138 EXCLUDE_UNKNOWN_REGISTRIES)); // 2 |
129 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://bar.jp", false)); // 3 | 139 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://a.bar.jp", |
130 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.bar.jp", false)); // 3 4 | 140 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 |
131 EXPECT_EQ(12U, GetRegistryLengthFromURL("http://a.b.baz.bar.jp", false)); | 141 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://bar.jp", |
132 // 4 | 142 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 |
133 EXPECT_EQ(6U, GetRegistryLengthFromURL("http://baz.pref.bar.jp", false)); | 143 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.bar.jp", |
134 // 5 | 144 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4 |
135 EXPECT_EQ(11U, GetRegistryLengthFromURL("http://a.b.bar.baz.com", false)); | 145 EXPECT_EQ(12U, GetRegistryLengthFromURL("http://a.b.baz.bar.jp", |
136 // 6 | 146 EXCLUDE_UNKNOWN_REGISTRIES)); // 4 |
137 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.d.c", false)); // 7 | 147 EXPECT_EQ(6U, GetRegistryLengthFromURL("http://baz.pref.bar.jp", |
138 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://.a.d.c", false)); // 7 | 148 EXCLUDE_UNKNOWN_REGISTRIES)); // 5 |
139 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://..a.d.c", false)); // 7 | 149 EXPECT_EQ(11U, GetRegistryLengthFromURL("http://a.b.bar.baz.com", |
140 EXPECT_EQ(1U, GetRegistryLengthFromURL("http://a.b.c", false)); // 7 8 | 150 EXCLUDE_UNKNOWN_REGISTRIES)); // 6 |
141 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com", false)); // none | 151 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.d.c", |
142 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com.", false)); // none | 152 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
143 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://baz.com", true)); // none | 153 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://.a.d.c", |
144 EXPECT_EQ(4U, GetRegistryLengthFromURL("http://baz.com.", true)); // none | 154 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
| 155 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://..a.d.c", |
| 156 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
| 157 EXPECT_EQ(1U, GetRegistryLengthFromURL("http://a.b.c", |
| 158 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8 |
| 159 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com", |
| 160 EXCLUDE_UNKNOWN_REGISTRIES)); // none |
| 161 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com.", |
| 162 EXCLUDE_UNKNOWN_REGISTRIES)); // none |
| 163 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://baz.com", |
| 164 INCLUDE_UNKNOWN_REGISTRIES)); // none |
| 165 EXPECT_EQ(4U, GetRegistryLengthFromURL("http://baz.com.", |
| 166 INCLUDE_UNKNOWN_REGISTRIES)); // none |
145 | 167 |
146 EXPECT_EQ(std::string::npos, GetRegistryLengthFromURL(std::string(), false)); | |
147 EXPECT_EQ(std::string::npos, GetRegistryLengthFromURL("http://", false)); | |
148 EXPECT_EQ(std::string::npos, | 168 EXPECT_EQ(std::string::npos, |
149 GetRegistryLengthFromURL("file:///C:/file.html", false)); | 169 GetRegistryLengthFromURL(std::string(), EXCLUDE_UNKNOWN_REGISTRIES)); |
150 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.com..", false)); | 170 EXPECT_EQ(std::string::npos, |
151 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://...", false)); | 171 GetRegistryLengthFromURL("http://", EXCLUDE_UNKNOWN_REGISTRIES)); |
152 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://192.168.0.1", false)); | 172 EXPECT_EQ(std::string::npos, |
153 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", false)); | 173 GetRegistryLengthFromURL("file:///C:/file.html", |
154 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", true)); | 174 EXCLUDE_UNKNOWN_REGISTRIES)); |
155 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", false)); | 175 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.com..", |
156 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", true)); | 176 EXCLUDE_UNKNOWN_REGISTRIES)); |
157 EXPECT_EQ(0U, GetRegistryLengthFromURL("http:////Comment", false)); | 177 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://...", |
| 178 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 179 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://192.168.0.1", |
| 180 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 181 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", |
| 182 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 183 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", |
| 184 INCLUDE_UNKNOWN_REGISTRIES)); |
| 185 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", |
| 186 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 187 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", |
| 188 INCLUDE_UNKNOWN_REGISTRIES)); |
| 189 EXPECT_EQ(0U, GetRegistryLengthFromURL("http:////Comment", |
| 190 EXCLUDE_UNKNOWN_REGISTRIES)); |
158 | 191 |
159 // Test std::string version of GetRegistryLength(). Uses the same | 192 // Test std::string version of GetRegistryLength(). Uses the same |
160 // underpinnings as the GURL version, so this is really more of a check of | 193 // underpinnings as the GURL version, so this is really more of a check of |
161 // CanonicalizeHost(). | 194 // CanonicalizeHost(). |
162 EXPECT_EQ(2U, GetRegistryLengthFromHost("a.baz.jp", false)); // 1 | 195 EXPECT_EQ(2U, GetRegistryLengthFromHost("a.baz.jp", |
163 EXPECT_EQ(3U, GetRegistryLengthFromHost("a.baz.jp.", false)); // 1 | 196 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 |
164 EXPECT_EQ(0U, GetRegistryLengthFromHost("ac.jp", false)); // 2 | 197 EXPECT_EQ(3U, GetRegistryLengthFromHost("a.baz.jp.", |
165 EXPECT_EQ(0U, GetRegistryLengthFromHost("a.bar.jp", false)); // 3 | 198 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 |
166 EXPECT_EQ(0U, GetRegistryLengthFromHost("bar.jp", false)); // 3 | 199 EXPECT_EQ(0U, GetRegistryLengthFromHost("ac.jp", |
167 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.bar.jp", false)); // 3 4 | 200 EXCLUDE_UNKNOWN_REGISTRIES)); // 2 |
168 EXPECT_EQ(12U, GetRegistryLengthFromHost("a.b.baz.bar.jp", false)); // 4 | 201 EXPECT_EQ(0U, GetRegistryLengthFromHost("a.bar.jp", |
169 EXPECT_EQ(6U, GetRegistryLengthFromHost("baz.pref.bar.jp", false)); // 5 | 202 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 |
170 EXPECT_EQ(11U, GetRegistryLengthFromHost("a.b.bar.baz.com", false)); // 6 | 203 EXPECT_EQ(0U, GetRegistryLengthFromHost("bar.jp", |
171 EXPECT_EQ(3U, GetRegistryLengthFromHost("a.d.c", false)); // 7 | 204 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 |
172 EXPECT_EQ(3U, GetRegistryLengthFromHost(".a.d.c", false)); // 7 | 205 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.bar.jp", |
173 EXPECT_EQ(3U, GetRegistryLengthFromHost("..a.d.c", false)); // 7 | 206 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4 |
174 EXPECT_EQ(1U, GetRegistryLengthFromHost("a.b.c", false)); // 7 8 | 207 EXPECT_EQ(12U, GetRegistryLengthFromHost("a.b.baz.bar.jp", |
175 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com", false)); // none | 208 EXCLUDE_UNKNOWN_REGISTRIES)); // 4 |
176 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com.", false)); // none | 209 EXPECT_EQ(6U, GetRegistryLengthFromHost("baz.pref.bar.jp", |
177 EXPECT_EQ(3U, GetRegistryLengthFromHost("baz.com", true)); // none | 210 EXCLUDE_UNKNOWN_REGISTRIES)); // 5 |
178 EXPECT_EQ(4U, GetRegistryLengthFromHost("baz.com.", true)); // none | 211 EXPECT_EQ(11U, GetRegistryLengthFromHost("a.b.bar.baz.com", |
| 212 EXCLUDE_UNKNOWN_REGISTRIES)); // 6 |
| 213 EXPECT_EQ(3U, GetRegistryLengthFromHost("a.d.c", |
| 214 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
| 215 EXPECT_EQ(3U, GetRegistryLengthFromHost(".a.d.c", |
| 216 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
| 217 EXPECT_EQ(3U, GetRegistryLengthFromHost("..a.d.c", |
| 218 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
| 219 EXPECT_EQ(1U, GetRegistryLengthFromHost("a.b.c", |
| 220 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8 |
| 221 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com", |
| 222 EXCLUDE_UNKNOWN_REGISTRIES)); // none |
| 223 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com.", |
| 224 EXCLUDE_UNKNOWN_REGISTRIES)); // none |
| 225 EXPECT_EQ(3U, GetRegistryLengthFromHost("baz.com", |
| 226 INCLUDE_UNKNOWN_REGISTRIES)); // none |
| 227 EXPECT_EQ(4U, GetRegistryLengthFromHost("baz.com.", |
| 228 INCLUDE_UNKNOWN_REGISTRIES)); // none |
179 | 229 |
180 EXPECT_EQ(std::string::npos, GetRegistryLengthFromHost(std::string(), false)); | 230 EXPECT_EQ(std::string::npos, |
181 EXPECT_EQ(0U, GetRegistryLengthFromHost("foo.com..", false)); | 231 GetRegistryLengthFromHost(std::string(), EXCLUDE_UNKNOWN_REGISTRIES)); |
182 EXPECT_EQ(0U, GetRegistryLengthFromHost("..", false)); | 232 EXPECT_EQ(0U, GetRegistryLengthFromHost("foo.com..", |
183 EXPECT_EQ(0U, GetRegistryLengthFromHost("192.168.0.1", false)); | 233 EXCLUDE_UNKNOWN_REGISTRIES)); |
184 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", false)); | 234 EXPECT_EQ(0U, GetRegistryLengthFromHost("..", |
185 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", true)); | 235 EXCLUDE_UNKNOWN_REGISTRIES)); |
186 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", false)); | 236 EXPECT_EQ(0U, GetRegistryLengthFromHost("192.168.0.1", |
187 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", true)); | 237 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 238 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", |
| 239 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 240 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", |
| 241 INCLUDE_UNKNOWN_REGISTRIES)); |
| 242 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", |
| 243 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 244 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", |
| 245 INCLUDE_UNKNOWN_REGISTRIES)); |
188 } | 246 } |
189 | 247 |
190 TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) { | 248 TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) { |
191 UseDomainData(Perfect_Hash_Test2::FindDomain); | 249 UseDomainData(Perfect_Hash_Test2::FindDomain); |
192 | 250 |
193 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", | 251 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", |
194 "http://a.b.bar.jp/file.html")); // b.bar.jp | 252 "http://a.b.bar.jp/file.html")); // b.bar.jp |
195 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", | 253 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", |
196 "http://b.b.bar.jp/file.html")); // b.bar.jp | 254 "http://b.b.bar.jp/file.html")); // b.bar.jp |
197 EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html", // foo.jp | 255 EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html", // foo.jp |
(...skipping 13 matching lines...) Expand all Loading... |
211 EXPECT_TRUE(CompareDomains("http://127.0.0.1/file.html", | 269 EXPECT_TRUE(CompareDomains("http://127.0.0.1/file.html", |
212 "http://127.0.0.1/file.html")); // 127.0.0.1 | 270 "http://127.0.0.1/file.html")); // 127.0.0.1 |
213 EXPECT_FALSE(CompareDomains("http://192.168.0.1/file.html", // 192.168.0.1 | 271 EXPECT_FALSE(CompareDomains("http://192.168.0.1/file.html", // 192.168.0.1 |
214 "http://127.0.0.1/file.html")); // 127.0.0.1 | 272 "http://127.0.0.1/file.html")); // 127.0.0.1 |
215 EXPECT_FALSE(CompareDomains("file:///C:/file.html", | 273 EXPECT_FALSE(CompareDomains("file:///C:/file.html", |
216 "file:///C:/file.html")); // no host | 274 "file:///C:/file.html")); // no host |
217 } | 275 } |
218 | 276 |
219 TEST_F(RegistryControlledDomainTest, TestDefaultData) { | 277 TEST_F(RegistryControlledDomainTest, TestDefaultData) { |
220 // Note that no data is set: we're using the default rules. | 278 // Note that no data is set: we're using the default rules. |
221 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://google.com", false)); | 279 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://google.com", |
222 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://stanford.edu", false)); | 280 EXCLUDE_UNKNOWN_REGISTRIES)); |
223 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ustreas.gov", false)); | 281 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://stanford.edu", |
224 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://icann.net", false)); | 282 EXCLUDE_UNKNOWN_REGISTRIES)); |
225 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ferretcentral.org", false)); | 283 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ustreas.gov", |
226 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://nowhere.foo", false)); | 284 EXCLUDE_UNKNOWN_REGISTRIES)); |
227 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://nowhere.foo", true)); | 285 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://icann.net", |
| 286 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 287 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ferretcentral.org", |
| 288 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 289 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://nowhere.foo", |
| 290 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 291 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://nowhere.foo", |
| 292 INCLUDE_UNKNOWN_REGISTRIES)); |
228 } | 293 } |
229 | 294 |
| 295 TEST_F(RegistryControlledDomainTest, TestPrivateRegistryHandling) { |
| 296 UseDomainData(Perfect_Hash_Test1::FindDomain); |
| 297 // Testing the same dataset for INCLUDE_PRIVATE_REGISTRIES and |
| 298 // EXCLUDE_PRIVATE_REGISTRIES arguments. |
| 299 // For the domain data used for this test, the private registries are |
| 300 // 'priv.no' and 'private'. |
| 301 |
| 302 // Non-private registries. |
| 303 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://priv.no", |
| 304 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 305 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://foo.priv.no", |
| 306 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 307 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://foo.jp", |
| 308 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 309 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://www.foo.jp", |
| 310 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 311 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://private", |
| 312 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 313 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.private", |
| 314 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 315 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://private", |
| 316 INCLUDE_UNKNOWN_REGISTRIES)); |
| 317 EXPECT_EQ(7U, GetRegistryLengthFromURL("http://foo.private", |
| 318 INCLUDE_UNKNOWN_REGISTRIES)); |
| 319 |
| 320 // Private registries. |
| 321 EXPECT_EQ(0U, |
| 322 GetRegistryLengthFromURLIncludingPrivate("http://priv.no", |
| 323 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 324 EXPECT_EQ(7U, |
| 325 GetRegistryLengthFromURLIncludingPrivate("http://foo.priv.no", |
| 326 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 327 EXPECT_EQ(2U, |
| 328 GetRegistryLengthFromURLIncludingPrivate("http://foo.jp", |
| 329 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 330 EXPECT_EQ(2U, |
| 331 GetRegistryLengthFromURLIncludingPrivate("http://www.foo.jp", |
| 332 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 333 EXPECT_EQ(0U, |
| 334 GetRegistryLengthFromURLIncludingPrivate("http://private", |
| 335 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 336 EXPECT_EQ(7U, |
| 337 GetRegistryLengthFromURLIncludingPrivate("http://foo.private", |
| 338 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 339 EXPECT_EQ(0U, |
| 340 GetRegistryLengthFromURLIncludingPrivate("http://private", |
| 341 INCLUDE_UNKNOWN_REGISTRIES)); |
| 342 EXPECT_EQ(7U, |
| 343 GetRegistryLengthFromURLIncludingPrivate("http://foo.private", |
| 344 INCLUDE_UNKNOWN_REGISTRIES)); |
| 345 } |
| 346 |
| 347 |
| 348 } // namespace registry_controlled_domains |
230 } // namespace net | 349 } // namespace net |
OLD | NEW |