OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "base/command_line.h" | |
6 #include "components/google/core/browser/google_switches.h" | |
7 #include "components/google/core/browser/google_url_tracker.h" | |
8 #include "components/google/core/browser/google_util.h" | |
9 #include "testing/gtest/include/gtest/gtest.h" | |
10 | |
11 using google_util::IsGoogleDomainUrl; | |
12 | |
13 | |
14 // Helpers -------------------------------------------------------------------- | |
15 | |
16 namespace { | |
17 | |
18 // These functions merely provide brevity in the callers. | |
19 | |
20 bool IsHomePage(const std::string& url) { | |
21 return google_util::IsGoogleHomePageUrl(GURL(url)); | |
22 } | |
23 | |
24 bool IsSearch(const std::string& url) { | |
25 return google_util::IsGoogleSearchUrl(GURL(url)); | |
26 } | |
27 | |
28 bool StartsWithBaseURL(const std::string& url) { | |
29 return google_util::StartsWithCommandLineGoogleBaseURL(GURL(url)); | |
30 } | |
31 | |
32 } // namespace | |
33 | |
34 | |
35 // Actual tests --------------------------------------------------------------- | |
36 | |
37 TEST(GoogleUtilTest, GoodHomePagesNonSecure) { | |
38 // Valid home page hosts. | |
39 EXPECT_TRUE(IsHomePage(GoogleURLTracker::kDefaultGoogleHomepage)); | |
40 EXPECT_TRUE(IsHomePage("http://google.com")); | |
41 EXPECT_TRUE(IsHomePage("http://www.google.com")); | |
42 EXPECT_TRUE(IsHomePage("http://www.google.ca")); | |
43 EXPECT_TRUE(IsHomePage("http://www.google.co.uk")); | |
44 EXPECT_TRUE(IsHomePage("http://www.google.com:80/")); | |
45 | |
46 // Only the paths /, /webhp, and /ig.* are valid. Query parameters are | |
47 // ignored. | |
48 EXPECT_TRUE(IsHomePage("http://www.google.com/")); | |
49 EXPECT_TRUE(IsHomePage("http://www.google.com/webhp")); | |
50 EXPECT_TRUE(IsHomePage("http://www.google.com/webhp?rlz=TEST")); | |
51 EXPECT_TRUE(IsHomePage("http://www.google.com/ig")); | |
52 EXPECT_TRUE(IsHomePage("http://www.google.com/ig/foo")); | |
53 EXPECT_TRUE(IsHomePage("http://www.google.com/ig?rlz=TEST")); | |
54 EXPECT_TRUE(IsHomePage("http://www.google.com/ig/foo?rlz=TEST")); | |
55 } | |
56 | |
57 TEST(GoogleUtilTest, GoodHomePagesSecure) { | |
58 // Valid home page hosts. | |
59 EXPECT_TRUE(IsHomePage("https://google.com")); | |
60 EXPECT_TRUE(IsHomePage("https://www.google.com")); | |
61 EXPECT_TRUE(IsHomePage("https://www.google.ca")); | |
62 EXPECT_TRUE(IsHomePage("https://www.google.co.uk")); | |
63 EXPECT_TRUE(IsHomePage("https://www.google.com:443/")); | |
64 | |
65 // Only the paths /, /webhp, and /ig.* are valid. Query parameters are | |
66 // ignored. | |
67 EXPECT_TRUE(IsHomePage("https://www.google.com/")); | |
68 EXPECT_TRUE(IsHomePage("https://www.google.com/webhp")); | |
69 EXPECT_TRUE(IsHomePage("https://www.google.com/webhp?rlz=TEST")); | |
70 EXPECT_TRUE(IsHomePage("https://www.google.com/ig")); | |
71 EXPECT_TRUE(IsHomePage("https://www.google.com/ig/foo")); | |
72 EXPECT_TRUE(IsHomePage("https://www.google.com/ig?rlz=TEST")); | |
73 EXPECT_TRUE(IsHomePage("https://www.google.com/ig/foo?rlz=TEST")); | |
74 } | |
75 | |
76 TEST(GoogleUtilTest, BadHomePages) { | |
77 EXPECT_FALSE(IsHomePage(std::string())); | |
78 | |
79 // If specified, only the "www" subdomain is OK. | |
80 EXPECT_FALSE(IsHomePage("http://maps.google.com")); | |
81 EXPECT_FALSE(IsHomePage("http://foo.google.com")); | |
82 | |
83 // No non-standard port numbers. | |
84 EXPECT_FALSE(IsHomePage("http://www.google.com:1234")); | |
85 EXPECT_FALSE(IsHomePage("https://www.google.com:5678")); | |
86 | |
87 // Invalid TLDs. | |
88 EXPECT_FALSE(IsHomePage("http://www.google.abc")); | |
89 EXPECT_FALSE(IsHomePage("http://www.google.com.abc")); | |
90 EXPECT_FALSE(IsHomePage("http://www.google.abc.com")); | |
91 EXPECT_FALSE(IsHomePage("http://www.google.ab.cd")); | |
92 EXPECT_FALSE(IsHomePage("http://www.google.uk.qq")); | |
93 | |
94 // Must be http or https. | |
95 EXPECT_FALSE(IsHomePage("ftp://www.google.com")); | |
96 EXPECT_FALSE(IsHomePage("file://does/not/exist")); | |
97 EXPECT_FALSE(IsHomePage("bad://www.google.com")); | |
98 EXPECT_FALSE(IsHomePage("www.google.com")); | |
99 | |
100 // Only the paths /, /webhp, and /ig.* are valid. | |
101 EXPECT_FALSE(IsHomePage("http://www.google.com/abc")); | |
102 EXPECT_FALSE(IsHomePage("http://www.google.com/webhpabc")); | |
103 EXPECT_FALSE(IsHomePage("http://www.google.com/webhp/abc")); | |
104 EXPECT_FALSE(IsHomePage("http://www.google.com/abcig")); | |
105 EXPECT_FALSE(IsHomePage("http://www.google.com/webhp/ig")); | |
106 | |
107 // A search URL should not be identified as a home page URL. | |
108 EXPECT_FALSE(IsHomePage("http://www.google.com/search?q=something")); | |
109 | |
110 // Path is case sensitive. | |
111 EXPECT_FALSE(IsHomePage("https://www.google.com/WEBHP")); | |
112 } | |
113 | |
114 TEST(GoogleUtilTest, GoodSearchPagesNonSecure) { | |
115 // Queries with path "/search" need to have the query parameter in either | |
116 // the url parameter or the hash fragment. | |
117 EXPECT_TRUE(IsSearch("http://www.google.com/search?q=something")); | |
118 EXPECT_TRUE(IsSearch("http://www.google.com/search#q=something")); | |
119 EXPECT_TRUE(IsSearch("http://www.google.com/search?name=bob&q=something")); | |
120 EXPECT_TRUE(IsSearch("http://www.google.com/search?name=bob#q=something")); | |
121 EXPECT_TRUE(IsSearch("http://www.google.com/search?name=bob#age=24&q=thing")); | |
122 EXPECT_TRUE(IsSearch("http://www.google.co.uk/search?q=something")); | |
123 // It's actually valid for both to have the query parameter. | |
124 EXPECT_TRUE(IsSearch("http://www.google.com/search?q=something#q=other")); | |
125 | |
126 // Queries with path "/webhp", "/" or "" need to have the query parameter in | |
127 // the hash fragment. | |
128 EXPECT_TRUE(IsSearch("http://www.google.com/webhp#q=something")); | |
129 EXPECT_TRUE(IsSearch("http://www.google.com/webhp#name=bob&q=something")); | |
130 EXPECT_TRUE(IsSearch("http://www.google.com/webhp?name=bob#q=something")); | |
131 EXPECT_TRUE(IsSearch("http://www.google.com/webhp?name=bob#age=24&q=thing")); | |
132 | |
133 EXPECT_TRUE(IsSearch("http://www.google.com/#q=something")); | |
134 EXPECT_TRUE(IsSearch("http://www.google.com/#name=bob&q=something")); | |
135 EXPECT_TRUE(IsSearch("http://www.google.com/?name=bob#q=something")); | |
136 EXPECT_TRUE(IsSearch("http://www.google.com/?name=bob#age=24&q=something")); | |
137 | |
138 EXPECT_TRUE(IsSearch("http://www.google.com#q=something")); | |
139 EXPECT_TRUE(IsSearch("http://www.google.com#name=bob&q=something")); | |
140 EXPECT_TRUE(IsSearch("http://www.google.com?name=bob#q=something")); | |
141 EXPECT_TRUE(IsSearch("http://www.google.com?name=bob#age=24&q=something")); | |
142 } | |
143 | |
144 TEST(GoogleUtilTest, GoodSearchPagesSecure) { | |
145 // Queries with path "/search" need to have the query parameter in either | |
146 // the url parameter or the hash fragment. | |
147 EXPECT_TRUE(IsSearch("https://www.google.com/search?q=something")); | |
148 EXPECT_TRUE(IsSearch("https://www.google.com/search#q=something")); | |
149 EXPECT_TRUE(IsSearch("https://www.google.com/search?name=bob&q=something")); | |
150 EXPECT_TRUE(IsSearch("https://www.google.com/search?name=bob#q=something")); | |
151 EXPECT_TRUE(IsSearch("https://www.google.com/search?name=bob#age=24&q=q")); | |
152 EXPECT_TRUE(IsSearch("https://www.google.co.uk/search?q=something")); | |
153 // It's actually valid for both to have the query parameter. | |
154 EXPECT_TRUE(IsSearch("https://www.google.com/search?q=something#q=other")); | |
155 | |
156 // Queries with path "/webhp", "/" or "" need to have the query parameter in | |
157 // the hash fragment. | |
158 EXPECT_TRUE(IsSearch("https://www.google.com/webhp#q=something")); | |
159 EXPECT_TRUE(IsSearch("https://www.google.com/webhp#name=bob&q=something")); | |
160 EXPECT_TRUE(IsSearch("https://www.google.com/webhp?name=bob#q=something")); | |
161 EXPECT_TRUE(IsSearch("https://www.google.com/webhp?name=bob#age=24&q=thing")); | |
162 | |
163 EXPECT_TRUE(IsSearch("https://www.google.com/#q=something")); | |
164 EXPECT_TRUE(IsSearch("https://www.google.com/#name=bob&q=something")); | |
165 EXPECT_TRUE(IsSearch("https://www.google.com/?name=bob#q=something")); | |
166 EXPECT_TRUE(IsSearch("https://www.google.com/?name=bob#age=24&q=something")); | |
167 | |
168 EXPECT_TRUE(IsSearch("https://www.google.com#q=something")); | |
169 EXPECT_TRUE(IsSearch("https://www.google.com#name=bob&q=something")); | |
170 EXPECT_TRUE(IsSearch("https://www.google.com?name=bob#q=something")); | |
171 EXPECT_TRUE(IsSearch("https://www.google.com?name=bob#age=24&q=something")); | |
172 } | |
173 | |
174 TEST(GoogleUtilTest, BadSearches) { | |
175 // A home page URL should not be identified as a search URL. | |
176 EXPECT_FALSE(IsSearch(GoogleURLTracker::kDefaultGoogleHomepage)); | |
177 EXPECT_FALSE(IsSearch("http://google.com")); | |
178 EXPECT_FALSE(IsSearch("http://www.google.com")); | |
179 EXPECT_FALSE(IsSearch("http://www.google.com/search")); | |
180 EXPECT_FALSE(IsSearch("http://www.google.com/search?")); | |
181 | |
182 // Must be http or https | |
183 EXPECT_FALSE(IsSearch("ftp://www.google.com/search?q=something")); | |
184 EXPECT_FALSE(IsSearch("file://does/not/exist/search?q=something")); | |
185 EXPECT_FALSE(IsSearch("bad://www.google.com/search?q=something")); | |
186 EXPECT_FALSE(IsSearch("www.google.com/search?q=something")); | |
187 | |
188 // Can't have an empty query parameter. | |
189 EXPECT_FALSE(IsSearch("http://www.google.com/search?q=")); | |
190 EXPECT_FALSE(IsSearch("http://www.google.com/search?name=bob&q=")); | |
191 EXPECT_FALSE(IsSearch("http://www.google.com/webhp#q=")); | |
192 EXPECT_FALSE(IsSearch("http://www.google.com/webhp#name=bob&q=")); | |
193 | |
194 // Home page searches without a hash fragment query parameter are invalid. | |
195 EXPECT_FALSE(IsSearch("http://www.google.com/webhp?q=something")); | |
196 EXPECT_FALSE(IsSearch("http://www.google.com/webhp?q=something#no=good")); | |
197 EXPECT_FALSE(IsSearch("http://www.google.com/webhp?name=bob&q=something")); | |
198 EXPECT_FALSE(IsSearch("http://www.google.com/?q=something")); | |
199 EXPECT_FALSE(IsSearch("http://www.google.com?q=something")); | |
200 | |
201 // Some paths are outright invalid as searches. | |
202 EXPECT_FALSE(IsSearch("http://www.google.com/notreal?q=something")); | |
203 EXPECT_FALSE(IsSearch("http://www.google.com/chrome?q=something")); | |
204 EXPECT_FALSE(IsSearch("http://www.google.com/search/nogood?q=something")); | |
205 EXPECT_FALSE(IsSearch("http://www.google.com/webhp/nogood#q=something")); | |
206 EXPECT_FALSE(IsSearch(std::string())); | |
207 | |
208 // Case sensitive paths. | |
209 EXPECT_FALSE(IsSearch("http://www.google.com/SEARCH?q=something")); | |
210 EXPECT_FALSE(IsSearch("http://www.google.com/WEBHP#q=something")); | |
211 } | |
212 | |
213 TEST(GoogleUtilTest, GoogleDomains) { | |
214 // Test some good Google domains (valid TLDs). | |
215 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.google.com"), | |
216 google_util::ALLOW_SUBDOMAIN, | |
217 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
218 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://google.com"), | |
219 google_util::ALLOW_SUBDOMAIN, | |
220 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
221 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.google.ca"), | |
222 google_util::ALLOW_SUBDOMAIN, | |
223 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
224 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.google.biz.tj"), | |
225 google_util::ALLOW_SUBDOMAIN, | |
226 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
227 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.google.com/search?q=thing"), | |
228 google_util::ALLOW_SUBDOMAIN, | |
229 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
230 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.google.com/webhp"), | |
231 google_util::ALLOW_SUBDOMAIN, | |
232 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
233 | |
234 // Test some bad Google domains (invalid TLDs). | |
235 EXPECT_FALSE(IsGoogleDomainUrl(GURL("http://www.google.notrealtld"), | |
236 google_util::ALLOW_SUBDOMAIN, | |
237 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
238 EXPECT_FALSE(IsGoogleDomainUrl(GURL("http://www.google.faketld/search?q=q"), | |
239 google_util::ALLOW_SUBDOMAIN, | |
240 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
241 EXPECT_FALSE(IsGoogleDomainUrl(GURL("http://www.yahoo.com"), | |
242 google_util::ALLOW_SUBDOMAIN, | |
243 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
244 | |
245 // Test subdomain checks. | |
246 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://images.google.com"), | |
247 google_util::ALLOW_SUBDOMAIN, | |
248 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
249 EXPECT_FALSE(IsGoogleDomainUrl(GURL("http://images.google.com"), | |
250 google_util::DISALLOW_SUBDOMAIN, | |
251 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
252 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://google.com"), | |
253 google_util::DISALLOW_SUBDOMAIN, | |
254 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
255 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.google.com"), | |
256 google_util::DISALLOW_SUBDOMAIN, | |
257 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
258 | |
259 // Port and scheme checks. | |
260 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.google.com:80"), | |
261 google_util::DISALLOW_SUBDOMAIN, | |
262 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
263 EXPECT_FALSE(IsGoogleDomainUrl(GURL("http://www.google.com:123"), | |
264 google_util::DISALLOW_SUBDOMAIN, | |
265 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
266 EXPECT_TRUE(IsGoogleDomainUrl(GURL("https://www.google.com:443"), | |
267 google_util::DISALLOW_SUBDOMAIN, | |
268 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
269 EXPECT_FALSE(IsGoogleDomainUrl(GURL("http://www.google.com:123"), | |
270 google_util::DISALLOW_SUBDOMAIN, | |
271 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
272 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.google.com:123"), | |
273 google_util::DISALLOW_SUBDOMAIN, | |
274 google_util::ALLOW_NON_STANDARD_PORTS)); | |
275 EXPECT_TRUE(IsGoogleDomainUrl(GURL("https://www.google.com:123"), | |
276 google_util::DISALLOW_SUBDOMAIN, | |
277 google_util::ALLOW_NON_STANDARD_PORTS)); | |
278 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.google.com:80"), | |
279 google_util::DISALLOW_SUBDOMAIN, | |
280 google_util::ALLOW_NON_STANDARD_PORTS)); | |
281 EXPECT_TRUE(IsGoogleDomainUrl(GURL("https://www.google.com:443"), | |
282 google_util::DISALLOW_SUBDOMAIN, | |
283 google_util::ALLOW_NON_STANDARD_PORTS)); | |
284 EXPECT_FALSE(IsGoogleDomainUrl(GURL("file://www.google.com"), | |
285 google_util::DISALLOW_SUBDOMAIN, | |
286 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
287 EXPECT_FALSE(IsGoogleDomainUrl(GURL("doesnotexist://www.google.com"), | |
288 google_util::DISALLOW_SUBDOMAIN, | |
289 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
290 } | |
291 | |
292 TEST(GoogleUtilTest, GoogleBaseURLNotSpecified) { | |
293 // When no command-line flag is specified, no input to | |
294 // StartsWithCommandLineGoogleBaseURL() should return true. | |
295 EXPECT_FALSE(StartsWithBaseURL(std::string())); | |
296 EXPECT_FALSE(StartsWithBaseURL("http://www.foo.com/")); | |
297 EXPECT_FALSE(StartsWithBaseURL("http://www.google.com/")); | |
298 | |
299 // By default, none of the IsGoogleXXX functions should return true for a | |
300 // "foo.com" URL. | |
301 EXPECT_FALSE(IsGoogleHostname("www.foo.com", | |
302 google_util::DISALLOW_SUBDOMAIN)); | |
303 EXPECT_FALSE(IsGoogleDomainUrl(GURL("http://www.foo.com/xyz"), | |
304 google_util::DISALLOW_SUBDOMAIN, | |
305 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
306 EXPECT_FALSE(IsGoogleDomainUrl(GURL("https://www.foo.com/"), | |
307 google_util::DISALLOW_SUBDOMAIN, | |
308 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
309 EXPECT_FALSE(IsHomePage("https://www.foo.com/webhp")); | |
310 EXPECT_FALSE(IsSearch("http://www.foo.com/search?q=a")); | |
311 | |
312 // Override the Google base URL on the command line. | |
313 CommandLine::ForCurrentProcess()->AppendSwitchASCII(switches::kGoogleBaseURL, | |
314 "http://www.foo.com/"); | |
315 | |
316 // Only URLs which start with exactly the string on the command line should | |
317 // cause StartsWithCommandLineGoogleBaseURL() to return true. | |
318 EXPECT_FALSE(StartsWithBaseURL(std::string())); | |
319 EXPECT_TRUE(StartsWithBaseURL("http://www.foo.com/")); | |
320 EXPECT_TRUE(StartsWithBaseURL("http://www.foo.com/abc")); | |
321 EXPECT_FALSE(StartsWithBaseURL("https://www.foo.com/")); | |
322 EXPECT_FALSE(StartsWithBaseURL("http://www.google.com/")); | |
323 | |
324 // The various IsGoogleXXX functions should respect the command-line flag. | |
325 EXPECT_TRUE(IsGoogleHostname("www.foo.com", google_util::DISALLOW_SUBDOMAIN)); | |
326 EXPECT_FALSE(IsGoogleHostname("foo.com", google_util::ALLOW_SUBDOMAIN)); | |
327 EXPECT_TRUE(IsGoogleDomainUrl(GURL("http://www.foo.com/xyz"), | |
328 google_util::DISALLOW_SUBDOMAIN, | |
329 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
330 EXPECT_TRUE(IsGoogleDomainUrl(GURL("https://www.foo.com/"), | |
331 google_util::DISALLOW_SUBDOMAIN, | |
332 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
333 EXPECT_TRUE(IsHomePage("https://www.foo.com/webhp")); | |
334 EXPECT_FALSE(IsHomePage("http://www.foo.com/xyz")); | |
335 EXPECT_TRUE(IsSearch("http://www.foo.com/search?q=a")); | |
336 } | |
337 | |
338 TEST(GoogleUtilTest, GoogleBaseURLDisallowQuery) { | |
339 CommandLine::ForCurrentProcess()->AppendSwitchASCII(switches::kGoogleBaseURL, | |
340 "http://www.foo.com/?q="); | |
341 EXPECT_FALSE(google_util::CommandLineGoogleBaseURL().is_valid()); | |
342 } | |
343 | |
344 TEST(GoogleUtilTest, GoogleBaseURLDisallowRef) { | |
345 CommandLine::ForCurrentProcess()->AppendSwitchASCII(switches::kGoogleBaseURL, | |
346 "http://www.foo.com/#q="); | |
347 EXPECT_FALSE(google_util::CommandLineGoogleBaseURL().is_valid()); | |
348 } | |
349 | |
350 TEST(GoogleUtilTest, GoogleBaseURLFixup) { | |
351 CommandLine::ForCurrentProcess()->AppendSwitchASCII(switches::kGoogleBaseURL, | |
352 "www.foo.com"); | |
353 ASSERT_TRUE(google_util::CommandLineGoogleBaseURL().is_valid()); | |
354 EXPECT_EQ("http://www.foo.com/", | |
355 google_util::CommandLineGoogleBaseURL().spec()); | |
356 } | |
357 | |
358 TEST(GoogleUtilTest, YoutubeDomains) { | |
359 EXPECT_TRUE(IsYoutubeDomainUrl(GURL("http://www.youtube.com"), | |
360 google_util::ALLOW_SUBDOMAIN, | |
361 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
362 EXPECT_TRUE(IsYoutubeDomainUrl(GURL("http://youtube.com"), | |
363 google_util::ALLOW_SUBDOMAIN, | |
364 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
365 EXPECT_TRUE(IsYoutubeDomainUrl(GURL("http://youtube.com/path/main.html"), | |
366 google_util::ALLOW_SUBDOMAIN, | |
367 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
368 EXPECT_FALSE(IsYoutubeDomainUrl(GURL("http://notyoutube.com"), | |
369 google_util::ALLOW_SUBDOMAIN, | |
370 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
371 | |
372 // TLD checks. | |
373 EXPECT_TRUE(IsYoutubeDomainUrl(GURL("http://www.youtube.ca"), | |
374 google_util::ALLOW_SUBDOMAIN, | |
375 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
376 EXPECT_TRUE(IsYoutubeDomainUrl(GURL("http://www.youtube.co.uk"), | |
377 google_util::ALLOW_SUBDOMAIN, | |
378 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
379 EXPECT_FALSE(IsYoutubeDomainUrl(GURL("http://www.youtube.notrealtld"), | |
380 google_util::ALLOW_SUBDOMAIN, | |
381 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
382 | |
383 // Subdomain checks. | |
384 EXPECT_TRUE(IsYoutubeDomainUrl(GURL("http://images.youtube.com"), | |
385 google_util::ALLOW_SUBDOMAIN, | |
386 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
387 EXPECT_FALSE(IsYoutubeDomainUrl(GURL("http://images.youtube.com"), | |
388 google_util::DISALLOW_SUBDOMAIN, | |
389 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
390 | |
391 // Port and scheme checks. | |
392 EXPECT_TRUE(IsYoutubeDomainUrl(GURL("http://www.youtube.com:80"), | |
393 google_util::DISALLOW_SUBDOMAIN, | |
394 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
395 EXPECT_TRUE(IsYoutubeDomainUrl(GURL("https://www.youtube.com:443"), | |
396 google_util::DISALLOW_SUBDOMAIN, | |
397 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
398 EXPECT_FALSE(IsYoutubeDomainUrl(GURL("http://www.youtube.com:123"), | |
399 google_util::DISALLOW_SUBDOMAIN, | |
400 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
401 EXPECT_TRUE(IsYoutubeDomainUrl(GURL("http://www.youtube.com:123"), | |
402 google_util::DISALLOW_SUBDOMAIN, | |
403 google_util::ALLOW_NON_STANDARD_PORTS)); | |
404 EXPECT_FALSE(IsYoutubeDomainUrl(GURL("file://www.youtube.com"), | |
405 google_util::DISALLOW_SUBDOMAIN, | |
406 google_util::DISALLOW_NON_STANDARD_PORTS)); | |
407 } | |
OLD | NEW |