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 "net/base/registry_controlled_domains/registry_controlled_domain.h" | 5 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
6 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
7 #include "url/gurl.h" | 7 #include "url/gurl.h" |
8 | 8 |
9 #include "effective_tld_names_unittest1.cc" | 9 #include "effective_tld_names_unittest1.cc" |
10 static const char* const Perfect_Hash_Test1_stringpool = stringpool1; | 10 static const char* const Perfect_Hash_Test1_stringpool = stringpool1; |
(...skipping 10 matching lines...) Expand all Loading... |
21 namespace { | 21 namespace { |
22 | 22 |
23 std::string GetDomainFromURL(const std::string& url) { | 23 std::string GetDomainFromURL(const std::string& url) { |
24 return GetDomainAndRegistry(GURL(url), EXCLUDE_PRIVATE_REGISTRIES); | 24 return GetDomainAndRegistry(GURL(url), EXCLUDE_PRIVATE_REGISTRIES); |
25 } | 25 } |
26 | 26 |
27 std::string GetDomainFromHost(const std::string& host) { | 27 std::string GetDomainFromHost(const std::string& host) { |
28 return GetDomainAndRegistry(host, EXCLUDE_PRIVATE_REGISTRIES); | 28 return GetDomainAndRegistry(host, EXCLUDE_PRIVATE_REGISTRIES); |
29 } | 29 } |
30 | 30 |
31 size_t GetRegistryLengthFromURL( | 31 size_t GetRegistryLengthFromURL(const std::string& url, |
32 const std::string& url, | 32 UnknownRegistryFilter unknown_filter) { |
33 UnknownRegistryFilter unknown_filter) { | 33 return GetRegistryLength( |
34 return GetRegistryLength(GURL(url), | 34 GURL(url), unknown_filter, EXCLUDE_PRIVATE_REGISTRIES); |
35 unknown_filter, | |
36 EXCLUDE_PRIVATE_REGISTRIES); | |
37 } | 35 } |
38 | 36 |
39 size_t GetRegistryLengthFromURLIncludingPrivate( | 37 size_t GetRegistryLengthFromURLIncludingPrivate( |
40 const std::string& url, | 38 const std::string& url, |
41 UnknownRegistryFilter unknown_filter) { | 39 UnknownRegistryFilter unknown_filter) { |
42 return GetRegistryLength(GURL(url), | 40 return GetRegistryLength( |
43 unknown_filter, | 41 GURL(url), unknown_filter, INCLUDE_PRIVATE_REGISTRIES); |
44 INCLUDE_PRIVATE_REGISTRIES); | |
45 } | 42 } |
46 | 43 |
47 size_t GetRegistryLengthFromHost( | 44 size_t GetRegistryLengthFromHost(const std::string& host, |
48 const std::string& host, | 45 UnknownRegistryFilter unknown_filter) { |
49 UnknownRegistryFilter unknown_filter) { | |
50 return GetRegistryLength(host, unknown_filter, EXCLUDE_PRIVATE_REGISTRIES); | 46 return GetRegistryLength(host, unknown_filter, EXCLUDE_PRIVATE_REGISTRIES); |
51 } | 47 } |
52 | 48 |
53 bool CompareDomains(const std::string& url1, const std::string& url2) { | 49 bool CompareDomains(const std::string& url1, const std::string& url2) { |
54 GURL g1 = GURL(url1); | 50 GURL g1 = GURL(url1); |
55 GURL g2 = GURL(url2); | 51 GURL g2 = GURL(url2); |
56 return SameDomainOrHost(g1, g2, EXCLUDE_PRIVATE_REGISTRIES); | 52 return SameDomainOrHost(g1, g2, EXCLUDE_PRIVATE_REGISTRIES); |
57 } | 53 } |
58 | 54 |
59 } // namespace | 55 } // namespace |
(...skipping 13 matching lines...) Expand all Loading... |
73 UseDomainData(Perfect_Hash_Test1::FindDomain, Perfect_Hash_Test1_stringpool); | 69 UseDomainData(Perfect_Hash_Test1::FindDomain, Perfect_Hash_Test1_stringpool); |
74 | 70 |
75 // Test GURL version of GetDomainAndRegistry(). | 71 // Test GURL version of GetDomainAndRegistry(). |
76 EXPECT_EQ("baz.jp", GetDomainFromURL("http://a.baz.jp/file.html")); // 1 | 72 EXPECT_EQ("baz.jp", GetDomainFromURL("http://a.baz.jp/file.html")); // 1 |
77 EXPECT_EQ("baz.jp.", GetDomainFromURL("http://a.baz.jp./file.html")); // 1 | 73 EXPECT_EQ("baz.jp.", GetDomainFromURL("http://a.baz.jp./file.html")); // 1 |
78 EXPECT_EQ("", GetDomainFromURL("http://ac.jp")); // 2 | 74 EXPECT_EQ("", GetDomainFromURL("http://ac.jp")); // 2 |
79 EXPECT_EQ("", GetDomainFromURL("http://a.bar.jp")); // 3 | 75 EXPECT_EQ("", GetDomainFromURL("http://a.bar.jp")); // 3 |
80 EXPECT_EQ("", GetDomainFromURL("http://bar.jp")); // 3 | 76 EXPECT_EQ("", GetDomainFromURL("http://bar.jp")); // 3 |
81 EXPECT_EQ("", GetDomainFromURL("http://baz.bar.jp")); // 3 4 | 77 EXPECT_EQ("", GetDomainFromURL("http://baz.bar.jp")); // 3 4 |
82 EXPECT_EQ("a.b.baz.bar.jp", GetDomainFromURL("http://a.b.baz.bar.jp")); | 78 EXPECT_EQ("a.b.baz.bar.jp", GetDomainFromURL("http://a.b.baz.bar.jp")); |
83 // 4 | 79 // 4 |
84 EXPECT_EQ("pref.bar.jp", GetDomainFromURL("http://baz.pref.bar.jp")); // 5 | 80 EXPECT_EQ("pref.bar.jp", GetDomainFromURL("http://baz.pref.bar.jp")); // 5 |
85 EXPECT_EQ("b.bar.baz.com.", GetDomainFromURL("http://a.b.bar.baz.com.")); | 81 EXPECT_EQ("b.bar.baz.com.", GetDomainFromURL("http://a.b.bar.baz.com.")); |
86 // 6 | 82 // 6 |
87 EXPECT_EQ("a.d.c", GetDomainFromURL("http://a.d.c")); // 7 | 83 EXPECT_EQ("a.d.c", GetDomainFromURL("http://a.d.c")); // 7 |
88 EXPECT_EQ("a.d.c", GetDomainFromURL("http://.a.d.c")); // 7 | 84 EXPECT_EQ("a.d.c", GetDomainFromURL("http://.a.d.c")); // 7 |
89 EXPECT_EQ("a.d.c", GetDomainFromURL("http://..a.d.c")); // 7 | 85 EXPECT_EQ("a.d.c", GetDomainFromURL("http://..a.d.c")); // 7 |
90 EXPECT_EQ("b.c", GetDomainFromURL("http://a.b.c")); // 7 8 | 86 EXPECT_EQ("b.c", GetDomainFromURL("http://a.b.c")); // 7 8 |
91 EXPECT_EQ("baz.com", GetDomainFromURL("http://baz.com")); // none | 87 EXPECT_EQ("baz.com", GetDomainFromURL("http://baz.com")); // none |
92 EXPECT_EQ("baz.com.", GetDomainFromURL("http://baz.com.")); // none | 88 EXPECT_EQ("baz.com.", GetDomainFromURL("http://baz.com.")); // none |
93 | 89 |
94 EXPECT_EQ("", GetDomainFromURL(std::string())); | 90 EXPECT_EQ("", GetDomainFromURL(std::string())); |
95 EXPECT_EQ("", GetDomainFromURL("http://")); | 91 EXPECT_EQ("", GetDomainFromURL("http://")); |
96 EXPECT_EQ("", GetDomainFromURL("file:///C:/file.html")); | 92 EXPECT_EQ("", GetDomainFromURL("file:///C:/file.html")); |
97 EXPECT_EQ("", GetDomainFromURL("http://foo.com..")); | 93 EXPECT_EQ("", GetDomainFromURL("http://foo.com..")); |
98 EXPECT_EQ("", GetDomainFromURL("http://...")); | 94 EXPECT_EQ("", GetDomainFromURL("http://...")); |
99 EXPECT_EQ("", GetDomainFromURL("http://192.168.0.1")); | 95 EXPECT_EQ("", GetDomainFromURL("http://192.168.0.1")); |
100 EXPECT_EQ("", GetDomainFromURL("http://localhost")); | 96 EXPECT_EQ("", GetDomainFromURL("http://localhost")); |
101 EXPECT_EQ("", GetDomainFromURL("http://localhost.")); | 97 EXPECT_EQ("", GetDomainFromURL("http://localhost.")); |
102 EXPECT_EQ("", GetDomainFromURL("http:////Comment")); | 98 EXPECT_EQ("", GetDomainFromURL("http:////Comment")); |
(...skipping 22 matching lines...) Expand all Loading... |
125 EXPECT_EQ("", GetDomainFromHost("...")); | 121 EXPECT_EQ("", GetDomainFromHost("...")); |
126 EXPECT_EQ("", GetDomainFromHost("192.168.0.1")); | 122 EXPECT_EQ("", GetDomainFromHost("192.168.0.1")); |
127 EXPECT_EQ("", GetDomainFromHost("localhost.")); | 123 EXPECT_EQ("", GetDomainFromHost("localhost.")); |
128 EXPECT_EQ("", GetDomainFromHost(".localhost.")); | 124 EXPECT_EQ("", GetDomainFromHost(".localhost.")); |
129 } | 125 } |
130 | 126 |
131 TEST_F(RegistryControlledDomainTest, TestGetRegistryLength) { | 127 TEST_F(RegistryControlledDomainTest, TestGetRegistryLength) { |
132 UseDomainData(Perfect_Hash_Test1::FindDomain, Perfect_Hash_Test1_stringpool); | 128 UseDomainData(Perfect_Hash_Test1::FindDomain, Perfect_Hash_Test1_stringpool); |
133 | 129 |
134 // Test GURL version of GetRegistryLength(). | 130 // Test GURL version of GetRegistryLength(). |
135 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://a.baz.jp/file.html", | 131 EXPECT_EQ(2U, |
136 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 | 132 GetRegistryLengthFromURL("http://a.baz.jp/file.html", |
137 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.baz.jp./file.html", | 133 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 |
138 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 | 134 EXPECT_EQ(3U, |
139 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://ac.jp", | 135 GetRegistryLengthFromURL("http://a.baz.jp./file.html", |
140 EXCLUDE_UNKNOWN_REGISTRIES)); // 2 | 136 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 |
141 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://a.bar.jp", | 137 EXPECT_EQ(0U, |
142 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 | 138 GetRegistryLengthFromURL("http://ac.jp", |
143 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://bar.jp", | 139 EXCLUDE_UNKNOWN_REGISTRIES)); // 2 |
144 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 | 140 EXPECT_EQ(0U, |
145 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.bar.jp", | 141 GetRegistryLengthFromURL("http://a.bar.jp", |
146 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4 | 142 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 |
147 EXPECT_EQ(12U, GetRegistryLengthFromURL("http://a.b.baz.bar.jp", | 143 EXPECT_EQ(0U, |
148 EXCLUDE_UNKNOWN_REGISTRIES)); // 4 | 144 GetRegistryLengthFromURL("http://bar.jp", |
149 EXPECT_EQ(6U, GetRegistryLengthFromURL("http://baz.pref.bar.jp", | 145 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 |
150 EXCLUDE_UNKNOWN_REGISTRIES)); // 5 | 146 EXPECT_EQ(0U, |
151 EXPECT_EQ(11U, GetRegistryLengthFromURL("http://a.b.bar.baz.com", | 147 GetRegistryLengthFromURL("http://baz.bar.jp", |
152 EXCLUDE_UNKNOWN_REGISTRIES)); // 6 | 148 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4 |
153 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.d.c", | 149 EXPECT_EQ(12U, |
154 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 | 150 GetRegistryLengthFromURL("http://a.b.baz.bar.jp", |
155 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://.a.d.c", | 151 EXCLUDE_UNKNOWN_REGISTRIES)); // 4 |
156 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 | 152 EXPECT_EQ(6U, |
157 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://..a.d.c", | 153 GetRegistryLengthFromURL("http://baz.pref.bar.jp", |
158 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 | 154 EXCLUDE_UNKNOWN_REGISTRIES)); // 5 |
159 EXPECT_EQ(1U, GetRegistryLengthFromURL("http://a.b.c", | 155 EXPECT_EQ(11U, |
160 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8 | 156 GetRegistryLengthFromURL("http://a.b.bar.baz.com", |
161 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com", | 157 EXCLUDE_UNKNOWN_REGISTRIES)); // 6 |
162 EXCLUDE_UNKNOWN_REGISTRIES)); // none | 158 EXPECT_EQ(3U, |
163 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com.", | 159 GetRegistryLengthFromURL("http://a.d.c", |
164 EXCLUDE_UNKNOWN_REGISTRIES)); // none | 160 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
165 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://baz.com", | 161 EXPECT_EQ(3U, |
166 INCLUDE_UNKNOWN_REGISTRIES)); // none | 162 GetRegistryLengthFromURL("http://.a.d.c", |
167 EXPECT_EQ(4U, GetRegistryLengthFromURL("http://baz.com.", | 163 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
168 INCLUDE_UNKNOWN_REGISTRIES)); // none | 164 EXPECT_EQ(3U, |
| 165 GetRegistryLengthFromURL("http://..a.d.c", |
| 166 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
| 167 EXPECT_EQ(1U, |
| 168 GetRegistryLengthFromURL("http://a.b.c", |
| 169 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8 |
| 170 EXPECT_EQ(0U, |
| 171 GetRegistryLengthFromURL("http://baz.com", |
| 172 EXCLUDE_UNKNOWN_REGISTRIES)); // none |
| 173 EXPECT_EQ(0U, |
| 174 GetRegistryLengthFromURL("http://baz.com.", |
| 175 EXCLUDE_UNKNOWN_REGISTRIES)); // none |
| 176 EXPECT_EQ(3U, |
| 177 GetRegistryLengthFromURL("http://baz.com", |
| 178 INCLUDE_UNKNOWN_REGISTRIES)); // none |
| 179 EXPECT_EQ(4U, |
| 180 GetRegistryLengthFromURL("http://baz.com.", |
| 181 INCLUDE_UNKNOWN_REGISTRIES)); // none |
169 | 182 |
170 EXPECT_EQ(std::string::npos, | 183 EXPECT_EQ( |
| 184 std::string::npos, |
171 GetRegistryLengthFromURL(std::string(), EXCLUDE_UNKNOWN_REGISTRIES)); | 185 GetRegistryLengthFromURL(std::string(), EXCLUDE_UNKNOWN_REGISTRIES)); |
172 EXPECT_EQ(std::string::npos, | 186 EXPECT_EQ(std::string::npos, |
173 GetRegistryLengthFromURL("http://", EXCLUDE_UNKNOWN_REGISTRIES)); | 187 GetRegistryLengthFromURL("http://", EXCLUDE_UNKNOWN_REGISTRIES)); |
174 EXPECT_EQ(std::string::npos, | 188 EXPECT_EQ(std::string::npos, |
175 GetRegistryLengthFromURL("file:///C:/file.html", | 189 GetRegistryLengthFromURL("file:///C:/file.html", |
176 EXCLUDE_UNKNOWN_REGISTRIES)); | 190 EXCLUDE_UNKNOWN_REGISTRIES)); |
177 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.com..", | 191 EXPECT_EQ( |
178 EXCLUDE_UNKNOWN_REGISTRIES)); | 192 0U, |
179 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://...", | 193 GetRegistryLengthFromURL("http://foo.com..", EXCLUDE_UNKNOWN_REGISTRIES)); |
180 EXCLUDE_UNKNOWN_REGISTRIES)); | 194 EXPECT_EQ(0U, |
181 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://192.168.0.1", | 195 GetRegistryLengthFromURL("http://...", EXCLUDE_UNKNOWN_REGISTRIES)); |
182 EXCLUDE_UNKNOWN_REGISTRIES)); | 196 EXPECT_EQ(0U, |
183 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", | 197 GetRegistryLengthFromURL("http://192.168.0.1", |
184 EXCLUDE_UNKNOWN_REGISTRIES)); | 198 EXCLUDE_UNKNOWN_REGISTRIES)); |
185 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost", | 199 EXPECT_EQ( |
186 INCLUDE_UNKNOWN_REGISTRIES)); | 200 0U, |
187 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", | 201 GetRegistryLengthFromURL("http://localhost", EXCLUDE_UNKNOWN_REGISTRIES)); |
188 EXCLUDE_UNKNOWN_REGISTRIES)); | 202 EXPECT_EQ( |
189 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.", | 203 0U, |
190 INCLUDE_UNKNOWN_REGISTRIES)); | 204 GetRegistryLengthFromURL("http://localhost", INCLUDE_UNKNOWN_REGISTRIES)); |
191 EXPECT_EQ(0U, GetRegistryLengthFromURL("http:////Comment", | 205 EXPECT_EQ(0U, |
192 EXCLUDE_UNKNOWN_REGISTRIES)); | 206 GetRegistryLengthFromURL("http://localhost.", |
| 207 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 208 EXPECT_EQ(0U, |
| 209 GetRegistryLengthFromURL("http://localhost.", |
| 210 INCLUDE_UNKNOWN_REGISTRIES)); |
| 211 EXPECT_EQ( |
| 212 0U, |
| 213 GetRegistryLengthFromURL("http:////Comment", EXCLUDE_UNKNOWN_REGISTRIES)); |
193 | 214 |
194 // Test std::string version of GetRegistryLength(). Uses the same | 215 // Test std::string version of GetRegistryLength(). Uses the same |
195 // underpinnings as the GURL version, so this is really more of a check of | 216 // underpinnings as the GURL version, so this is really more of a check of |
196 // CanonicalizeHost(). | 217 // CanonicalizeHost(). |
197 EXPECT_EQ(2U, GetRegistryLengthFromHost("a.baz.jp", | 218 EXPECT_EQ(2U, |
198 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 | 219 GetRegistryLengthFromHost("a.baz.jp", |
199 EXPECT_EQ(3U, GetRegistryLengthFromHost("a.baz.jp.", | 220 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 |
200 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 | 221 EXPECT_EQ(3U, |
201 EXPECT_EQ(0U, GetRegistryLengthFromHost("ac.jp", | 222 GetRegistryLengthFromHost("a.baz.jp.", |
202 EXCLUDE_UNKNOWN_REGISTRIES)); // 2 | 223 EXCLUDE_UNKNOWN_REGISTRIES)); // 1 |
203 EXPECT_EQ(0U, GetRegistryLengthFromHost("a.bar.jp", | 224 EXPECT_EQ(0U, |
204 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 | 225 GetRegistryLengthFromHost("ac.jp", |
205 EXPECT_EQ(0U, GetRegistryLengthFromHost("bar.jp", | 226 EXCLUDE_UNKNOWN_REGISTRIES)); // 2 |
206 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 | 227 EXPECT_EQ(0U, |
207 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.bar.jp", | 228 GetRegistryLengthFromHost("a.bar.jp", |
208 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4 | 229 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 |
209 EXPECT_EQ(12U, GetRegistryLengthFromHost("a.b.baz.bar.jp", | 230 EXPECT_EQ(0U, |
210 EXCLUDE_UNKNOWN_REGISTRIES)); // 4 | 231 GetRegistryLengthFromHost("bar.jp", |
211 EXPECT_EQ(6U, GetRegistryLengthFromHost("baz.pref.bar.jp", | 232 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 |
212 EXCLUDE_UNKNOWN_REGISTRIES)); // 5 | 233 EXPECT_EQ(0U, |
213 EXPECT_EQ(11U, GetRegistryLengthFromHost("a.b.bar.baz.com", | 234 GetRegistryLengthFromHost("baz.bar.jp", |
214 EXCLUDE_UNKNOWN_REGISTRIES)); // 6 | 235 EXCLUDE_UNKNOWN_REGISTRIES)); // 3 4 |
215 EXPECT_EQ(3U, GetRegistryLengthFromHost("a.d.c", | 236 EXPECT_EQ(12U, |
216 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 | 237 GetRegistryLengthFromHost("a.b.baz.bar.jp", |
217 EXPECT_EQ(3U, GetRegistryLengthFromHost(".a.d.c", | 238 EXCLUDE_UNKNOWN_REGISTRIES)); // 4 |
218 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 | 239 EXPECT_EQ(6U, |
219 EXPECT_EQ(3U, GetRegistryLengthFromHost("..a.d.c", | 240 GetRegistryLengthFromHost("baz.pref.bar.jp", |
220 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 | 241 EXCLUDE_UNKNOWN_REGISTRIES)); // 5 |
221 EXPECT_EQ(1U, GetRegistryLengthFromHost("a.b.c", | 242 EXPECT_EQ(11U, |
222 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8 | 243 GetRegistryLengthFromHost("a.b.bar.baz.com", |
223 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com", | 244 EXCLUDE_UNKNOWN_REGISTRIES)); // 6 |
224 EXCLUDE_UNKNOWN_REGISTRIES)); // none | 245 EXPECT_EQ(3U, |
225 EXPECT_EQ(0U, GetRegistryLengthFromHost("baz.com.", | 246 GetRegistryLengthFromHost("a.d.c", |
226 EXCLUDE_UNKNOWN_REGISTRIES)); // none | 247 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
227 EXPECT_EQ(3U, GetRegistryLengthFromHost("baz.com", | 248 EXPECT_EQ(3U, |
228 INCLUDE_UNKNOWN_REGISTRIES)); // none | 249 GetRegistryLengthFromHost(".a.d.c", |
229 EXPECT_EQ(4U, GetRegistryLengthFromHost("baz.com.", | 250 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
230 INCLUDE_UNKNOWN_REGISTRIES)); // none | 251 EXPECT_EQ(3U, |
| 252 GetRegistryLengthFromHost("..a.d.c", |
| 253 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 |
| 254 EXPECT_EQ(1U, |
| 255 GetRegistryLengthFromHost("a.b.c", |
| 256 EXCLUDE_UNKNOWN_REGISTRIES)); // 7 8 |
| 257 EXPECT_EQ(0U, |
| 258 GetRegistryLengthFromHost("baz.com", |
| 259 EXCLUDE_UNKNOWN_REGISTRIES)); // none |
| 260 EXPECT_EQ(0U, |
| 261 GetRegistryLengthFromHost("baz.com.", |
| 262 EXCLUDE_UNKNOWN_REGISTRIES)); // none |
| 263 EXPECT_EQ(3U, |
| 264 GetRegistryLengthFromHost("baz.com", |
| 265 INCLUDE_UNKNOWN_REGISTRIES)); // none |
| 266 EXPECT_EQ(4U, |
| 267 GetRegistryLengthFromHost("baz.com.", |
| 268 INCLUDE_UNKNOWN_REGISTRIES)); // none |
231 | 269 |
232 EXPECT_EQ(std::string::npos, | 270 EXPECT_EQ( |
| 271 std::string::npos, |
233 GetRegistryLengthFromHost(std::string(), EXCLUDE_UNKNOWN_REGISTRIES)); | 272 GetRegistryLengthFromHost(std::string(), EXCLUDE_UNKNOWN_REGISTRIES)); |
234 EXPECT_EQ(0U, GetRegistryLengthFromHost("foo.com..", | 273 EXPECT_EQ(0U, |
235 EXCLUDE_UNKNOWN_REGISTRIES)); | 274 GetRegistryLengthFromHost("foo.com..", EXCLUDE_UNKNOWN_REGISTRIES)); |
236 EXPECT_EQ(0U, GetRegistryLengthFromHost("..", | 275 EXPECT_EQ(0U, GetRegistryLengthFromHost("..", EXCLUDE_UNKNOWN_REGISTRIES)); |
237 EXCLUDE_UNKNOWN_REGISTRIES)); | 276 EXPECT_EQ( |
238 EXPECT_EQ(0U, GetRegistryLengthFromHost("192.168.0.1", | 277 0U, GetRegistryLengthFromHost("192.168.0.1", EXCLUDE_UNKNOWN_REGISTRIES)); |
239 EXCLUDE_UNKNOWN_REGISTRIES)); | 278 EXPECT_EQ(0U, |
240 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", | 279 GetRegistryLengthFromHost("localhost", EXCLUDE_UNKNOWN_REGISTRIES)); |
241 EXCLUDE_UNKNOWN_REGISTRIES)); | 280 EXPECT_EQ(0U, |
242 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost", | 281 GetRegistryLengthFromHost("localhost", INCLUDE_UNKNOWN_REGISTRIES)); |
243 INCLUDE_UNKNOWN_REGISTRIES)); | 282 EXPECT_EQ( |
244 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", | 283 0U, GetRegistryLengthFromHost("localhost.", EXCLUDE_UNKNOWN_REGISTRIES)); |
245 EXCLUDE_UNKNOWN_REGISTRIES)); | 284 EXPECT_EQ( |
246 EXPECT_EQ(0U, GetRegistryLengthFromHost("localhost.", | 285 0U, GetRegistryLengthFromHost("localhost.", INCLUDE_UNKNOWN_REGISTRIES)); |
247 INCLUDE_UNKNOWN_REGISTRIES)); | |
248 } | 286 } |
249 | 287 |
250 TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) { | 288 TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) { |
251 UseDomainData(Perfect_Hash_Test2::FindDomain, Perfect_Hash_Test2_stringpool); | 289 UseDomainData(Perfect_Hash_Test2::FindDomain, Perfect_Hash_Test2_stringpool); |
252 | 290 |
253 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", | 291 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", |
254 "http://a.b.bar.jp/file.html")); // b.bar.jp | 292 "http://a.b.bar.jp/file.html")); // b.bar.jp |
255 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", | 293 EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html", |
256 "http://b.b.bar.jp/file.html")); // b.bar.jp | 294 "http://b.b.bar.jp/file.html")); // b.bar.jp |
257 EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html", // foo.jp | 295 EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html", // foo.jp |
258 "http://a.not.jp/file.html")); // not.jp | 296 "http://a.not.jp/file.html")); // not.jp |
259 EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html", // foo.jp | 297 EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html", // foo.jp |
260 "http://a.foo.jp./file.html")); // foo.jp. | 298 "http://a.foo.jp./file.html")); // foo.jp. |
261 EXPECT_FALSE(CompareDomains("http://a.com/file.html", // a.com | 299 EXPECT_FALSE(CompareDomains("http://a.com/file.html", // a.com |
262 "http://b.com/file.html")); // b.com | 300 "http://b.com/file.html")); // b.com |
263 EXPECT_TRUE(CompareDomains("http://a.x.com/file.html", | 301 EXPECT_TRUE(CompareDomains("http://a.x.com/file.html", |
264 "http://b.x.com/file.html")); // x.com | 302 "http://b.x.com/file.html")); // x.com |
265 EXPECT_TRUE(CompareDomains("http://a.x.com/file.html", | 303 EXPECT_TRUE(CompareDomains("http://a.x.com/file.html", |
266 "http://.x.com/file.html")); // x.com | 304 "http://.x.com/file.html")); // x.com |
267 EXPECT_TRUE(CompareDomains("http://a.x.com/file.html", | 305 EXPECT_TRUE(CompareDomains("http://a.x.com/file.html", |
268 "http://..b.x.com/file.html")); // x.com | 306 "http://..b.x.com/file.html")); // x.com |
269 EXPECT_TRUE(CompareDomains("http://intranet/file.html", | 307 EXPECT_TRUE(CompareDomains("http://intranet/file.html", |
270 "http://intranet/file.html")); // intranet | 308 "http://intranet/file.html")); // intranet |
271 EXPECT_TRUE(CompareDomains("http://127.0.0.1/file.html", | 309 EXPECT_TRUE(CompareDomains("http://127.0.0.1/file.html", |
272 "http://127.0.0.1/file.html")); // 127.0.0.1 | 310 "http://127.0.0.1/file.html")); // 127.0.0.1 |
273 EXPECT_FALSE(CompareDomains("http://192.168.0.1/file.html", // 192.168.0.1 | 311 EXPECT_FALSE(CompareDomains("http://192.168.0.1/file.html", // 192.168.0.1 |
274 "http://127.0.0.1/file.html")); // 127.0.0.1 | 312 "http://127.0.0.1/file.html")); // 127.0.0.1 |
275 EXPECT_FALSE(CompareDomains("file:///C:/file.html", | 313 EXPECT_FALSE(CompareDomains("file:///C:/file.html", |
276 "file:///C:/file.html")); // no host | 314 "file:///C:/file.html")); // no host |
277 } | 315 } |
278 | 316 |
279 TEST_F(RegistryControlledDomainTest, TestDefaultData) { | 317 TEST_F(RegistryControlledDomainTest, TestDefaultData) { |
280 // Note that no data is set: we're using the default rules. | 318 // Note that no data is set: we're using the default rules. |
281 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://google.com", | 319 EXPECT_EQ(3U, |
282 EXCLUDE_UNKNOWN_REGISTRIES)); | 320 GetRegistryLengthFromURL("http://google.com", |
283 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://stanford.edu", | 321 EXCLUDE_UNKNOWN_REGISTRIES)); |
284 EXCLUDE_UNKNOWN_REGISTRIES)); | 322 EXPECT_EQ(3U, |
285 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ustreas.gov", | 323 GetRegistryLengthFromURL("http://stanford.edu", |
286 EXCLUDE_UNKNOWN_REGISTRIES)); | 324 EXCLUDE_UNKNOWN_REGISTRIES)); |
287 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://icann.net", | 325 EXPECT_EQ(3U, |
288 EXCLUDE_UNKNOWN_REGISTRIES)); | 326 GetRegistryLengthFromURL("http://ustreas.gov", |
289 EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ferretcentral.org", | 327 EXCLUDE_UNKNOWN_REGISTRIES)); |
290 EXCLUDE_UNKNOWN_REGISTRIES)); | 328 EXPECT_EQ( |
291 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://nowhere.notavaliddomain", | 329 3U, |
292 EXCLUDE_UNKNOWN_REGISTRIES)); | 330 GetRegistryLengthFromURL("http://icann.net", EXCLUDE_UNKNOWN_REGISTRIES)); |
293 EXPECT_EQ(15U, GetRegistryLengthFromURL("http://nowhere.notavaliddomain", | 331 EXPECT_EQ(3U, |
294 INCLUDE_UNKNOWN_REGISTRIES)); | 332 GetRegistryLengthFromURL("http://ferretcentral.org", |
| 333 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 334 EXPECT_EQ(0U, |
| 335 GetRegistryLengthFromURL("http://nowhere.notavaliddomain", |
| 336 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 337 EXPECT_EQ(15U, |
| 338 GetRegistryLengthFromURL("http://nowhere.notavaliddomain", |
| 339 INCLUDE_UNKNOWN_REGISTRIES)); |
295 } | 340 } |
296 | 341 |
297 TEST_F(RegistryControlledDomainTest, TestPrivateRegistryHandling) { | 342 TEST_F(RegistryControlledDomainTest, TestPrivateRegistryHandling) { |
298 UseDomainData(Perfect_Hash_Test1::FindDomain, Perfect_Hash_Test1_stringpool); | 343 UseDomainData(Perfect_Hash_Test1::FindDomain, Perfect_Hash_Test1_stringpool); |
299 | 344 |
300 // Testing the same dataset for INCLUDE_PRIVATE_REGISTRIES and | 345 // Testing the same dataset for INCLUDE_PRIVATE_REGISTRIES and |
301 // EXCLUDE_PRIVATE_REGISTRIES arguments. | 346 // EXCLUDE_PRIVATE_REGISTRIES arguments. |
302 // For the domain data used for this test, the private registries are | 347 // For the domain data used for this test, the private registries are |
303 // 'priv.no' and 'private'. | 348 // 'priv.no' and 'private'. |
304 | 349 |
305 // Non-private registries. | 350 // Non-private registries. |
306 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://priv.no", | 351 EXPECT_EQ( |
307 EXCLUDE_UNKNOWN_REGISTRIES)); | 352 2U, |
308 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://foo.priv.no", | 353 GetRegistryLengthFromURL("http://priv.no", EXCLUDE_UNKNOWN_REGISTRIES)); |
309 EXCLUDE_UNKNOWN_REGISTRIES)); | 354 EXPECT_EQ(2U, |
310 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://foo.jp", | 355 GetRegistryLengthFromURL("http://foo.priv.no", |
311 EXCLUDE_UNKNOWN_REGISTRIES)); | 356 EXCLUDE_UNKNOWN_REGISTRIES)); |
312 EXPECT_EQ(2U, GetRegistryLengthFromURL("http://www.foo.jp", | 357 EXPECT_EQ( |
313 EXCLUDE_UNKNOWN_REGISTRIES)); | 358 2U, |
314 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://private", | 359 GetRegistryLengthFromURL("http://foo.jp", EXCLUDE_UNKNOWN_REGISTRIES)); |
315 EXCLUDE_UNKNOWN_REGISTRIES)); | 360 EXPECT_EQ(2U, |
316 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.private", | 361 GetRegistryLengthFromURL("http://www.foo.jp", |
317 EXCLUDE_UNKNOWN_REGISTRIES)); | 362 EXCLUDE_UNKNOWN_REGISTRIES)); |
318 EXPECT_EQ(0U, GetRegistryLengthFromURL("http://private", | 363 EXPECT_EQ( |
319 INCLUDE_UNKNOWN_REGISTRIES)); | 364 0U, |
320 EXPECT_EQ(7U, GetRegistryLengthFromURL("http://foo.private", | 365 GetRegistryLengthFromURL("http://private", EXCLUDE_UNKNOWN_REGISTRIES)); |
321 INCLUDE_UNKNOWN_REGISTRIES)); | 366 EXPECT_EQ(0U, |
| 367 GetRegistryLengthFromURL("http://foo.private", |
| 368 EXCLUDE_UNKNOWN_REGISTRIES)); |
| 369 EXPECT_EQ( |
| 370 0U, |
| 371 GetRegistryLengthFromURL("http://private", INCLUDE_UNKNOWN_REGISTRIES)); |
| 372 EXPECT_EQ(7U, |
| 373 GetRegistryLengthFromURL("http://foo.private", |
| 374 INCLUDE_UNKNOWN_REGISTRIES)); |
322 | 375 |
323 // Private registries. | 376 // Private registries. |
324 EXPECT_EQ(0U, | 377 EXPECT_EQ(0U, |
325 GetRegistryLengthFromURLIncludingPrivate("http://priv.no", | 378 GetRegistryLengthFromURLIncludingPrivate( |
326 EXCLUDE_UNKNOWN_REGISTRIES)); | 379 "http://priv.no", EXCLUDE_UNKNOWN_REGISTRIES)); |
327 EXPECT_EQ(7U, | 380 EXPECT_EQ(7U, |
328 GetRegistryLengthFromURLIncludingPrivate("http://foo.priv.no", | 381 GetRegistryLengthFromURLIncludingPrivate( |
329 EXCLUDE_UNKNOWN_REGISTRIES)); | 382 "http://foo.priv.no", EXCLUDE_UNKNOWN_REGISTRIES)); |
330 EXPECT_EQ(2U, | 383 EXPECT_EQ(2U, |
331 GetRegistryLengthFromURLIncludingPrivate("http://foo.jp", | 384 GetRegistryLengthFromURLIncludingPrivate( |
332 EXCLUDE_UNKNOWN_REGISTRIES)); | 385 "http://foo.jp", EXCLUDE_UNKNOWN_REGISTRIES)); |
333 EXPECT_EQ(2U, | 386 EXPECT_EQ(2U, |
334 GetRegistryLengthFromURLIncludingPrivate("http://www.foo.jp", | 387 GetRegistryLengthFromURLIncludingPrivate( |
335 EXCLUDE_UNKNOWN_REGISTRIES)); | 388 "http://www.foo.jp", EXCLUDE_UNKNOWN_REGISTRIES)); |
336 EXPECT_EQ(0U, | 389 EXPECT_EQ(0U, |
337 GetRegistryLengthFromURLIncludingPrivate("http://private", | 390 GetRegistryLengthFromURLIncludingPrivate( |
338 EXCLUDE_UNKNOWN_REGISTRIES)); | 391 "http://private", EXCLUDE_UNKNOWN_REGISTRIES)); |
339 EXPECT_EQ(7U, | 392 EXPECT_EQ(7U, |
340 GetRegistryLengthFromURLIncludingPrivate("http://foo.private", | 393 GetRegistryLengthFromURLIncludingPrivate( |
341 EXCLUDE_UNKNOWN_REGISTRIES)); | 394 "http://foo.private", EXCLUDE_UNKNOWN_REGISTRIES)); |
342 EXPECT_EQ(0U, | 395 EXPECT_EQ(0U, |
343 GetRegistryLengthFromURLIncludingPrivate("http://private", | 396 GetRegistryLengthFromURLIncludingPrivate( |
344 INCLUDE_UNKNOWN_REGISTRIES)); | 397 "http://private", INCLUDE_UNKNOWN_REGISTRIES)); |
345 EXPECT_EQ(7U, | 398 EXPECT_EQ(7U, |
346 GetRegistryLengthFromURLIncludingPrivate("http://foo.private", | 399 GetRegistryLengthFromURLIncludingPrivate( |
347 INCLUDE_UNKNOWN_REGISTRIES)); | 400 "http://foo.private", INCLUDE_UNKNOWN_REGISTRIES)); |
348 } | 401 } |
349 | 402 |
350 | |
351 } // namespace registry_controlled_domains | 403 } // namespace registry_controlled_domains |
352 } // namespace net | 404 } // namespace net |
OLD | NEW |