Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(369)

Side by Side Diff: chrome/common/extensions/url_pattern_unittest.cc

Issue 7811006: Add full support for filesystem URLs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged out Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "chrome/common/extensions/url_pattern.h" 6 #include "chrome/common/extensions/url_pattern.h"
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "googleurl/src/gurl.h" 8 #include "googleurl/src/gurl.h"
9 9
10 // See url_pattern.h for examples of valid and invalid patterns. 10 // See url_pattern.h for examples of valid and invalid patterns.
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 EXPECT_EQ("http", pattern.scheme()); 88 EXPECT_EQ("http", pattern.scheme());
89 EXPECT_EQ("", pattern.host()); 89 EXPECT_EQ("", pattern.host());
90 EXPECT_TRUE(pattern.match_subdomains()); 90 EXPECT_TRUE(pattern.match_subdomains());
91 EXPECT_FALSE(pattern.match_all_urls()); 91 EXPECT_FALSE(pattern.match_all_urls());
92 EXPECT_EQ("/*", pattern.path()); 92 EXPECT_EQ("/*", pattern.path());
93 EXPECT_TRUE(pattern.MatchesURL(GURL("http://google.com"))); 93 EXPECT_TRUE(pattern.MatchesURL(GURL("http://google.com")));
94 EXPECT_TRUE(pattern.MatchesURL(GURL("http://yahoo.com"))); 94 EXPECT_TRUE(pattern.MatchesURL(GURL("http://yahoo.com")));
95 EXPECT_TRUE(pattern.MatchesURL(GURL("http://google.com/foo"))); 95 EXPECT_TRUE(pattern.MatchesURL(GURL("http://google.com/foo")));
96 EXPECT_FALSE(pattern.MatchesURL(GURL("https://google.com"))); 96 EXPECT_FALSE(pattern.MatchesURL(GURL("https://google.com")));
97 EXPECT_TRUE(pattern.MatchesURL(GURL("http://74.125.127.100/search"))); 97 EXPECT_TRUE(pattern.MatchesURL(GURL("http://74.125.127.100/search")));
98 EXPECT_TRUE(pattern.MatchesURL(GURL("filesystem:http://foo.com/t/")));
99 EXPECT_TRUE(pattern.MatchesURL(GURL("filesystem:http://foo.com/t/s")));
98 } 100 }
99 101
100 // all domains 102 // all domains
101 TEST(ExtensionURLPatternTest, Match2) { 103 TEST(ExtensionURLPatternTest, Match2) {
102 URLPattern pattern(kAllSchemes); 104 URLPattern pattern(kAllSchemes);
103 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("https://*/foo*")); 105 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("https://*/foo*"));
104 EXPECT_EQ("https", pattern.scheme()); 106 EXPECT_EQ("https", pattern.scheme());
105 EXPECT_EQ("", pattern.host()); 107 EXPECT_EQ("", pattern.host());
106 EXPECT_TRUE(pattern.match_subdomains()); 108 EXPECT_TRUE(pattern.match_subdomains());
107 EXPECT_FALSE(pattern.match_all_urls()); 109 EXPECT_FALSE(pattern.match_all_urls());
108 EXPECT_EQ("/foo*", pattern.path()); 110 EXPECT_EQ("/foo*", pattern.path());
109 EXPECT_TRUE(pattern.MatchesURL(GURL("https://www.google.com/foo"))); 111 EXPECT_TRUE(pattern.MatchesURL(GURL("https://www.google.com/foo")));
110 EXPECT_TRUE(pattern.MatchesURL(GURL("https://www.google.com/foobar"))); 112 EXPECT_TRUE(pattern.MatchesURL(GURL("https://www.google.com/foobar")));
111 EXPECT_FALSE(pattern.MatchesURL(GURL("http://www.google.com/foo"))); 113 EXPECT_FALSE(pattern.MatchesURL(GURL("http://www.google.com/foo")));
112 EXPECT_FALSE(pattern.MatchesURL(GURL("https://www.google.com/"))); 114 EXPECT_FALSE(pattern.MatchesURL(GURL("https://www.google.com/")));
115 EXPECT_FALSE(pattern.MatchesURL(
116 GURL("filesystem:https://www.google.com/foobar/")));
117 pattern.SetMatchNestedURLPath(true);
118 EXPECT_TRUE(pattern.MatchesURL(
119 GURL("filesystem:https://www.google.com/foobar/bas")));
113 } 120 }
114 121
115 // subdomains 122 // subdomains
116 TEST(URLPatternTest, Match3) { 123 TEST(URLPatternTest, Match3) {
117 URLPattern pattern(kAllSchemes); 124 URLPattern pattern(kAllSchemes);
118 EXPECT_EQ(URLPattern::PARSE_SUCCESS, 125 EXPECT_EQ(URLPattern::PARSE_SUCCESS,
119 pattern.Parse("http://*.google.com/foo*bar")); 126 pattern.Parse("http://*.google.com/foo*bar"));
120 EXPECT_EQ("http", pattern.scheme()); 127 EXPECT_EQ("http", pattern.scheme());
121 EXPECT_EQ("google.com", pattern.host()); 128 EXPECT_EQ("google.com", pattern.host());
122 EXPECT_TRUE(pattern.match_subdomains()); 129 EXPECT_TRUE(pattern.match_subdomains());
123 EXPECT_FALSE(pattern.match_all_urls()); 130 EXPECT_FALSE(pattern.match_all_urls());
124 EXPECT_EQ("/foo*bar", pattern.path()); 131 EXPECT_EQ("/foo*bar", pattern.path());
125 EXPECT_TRUE(pattern.MatchesURL(GURL("http://google.com/foobar"))); 132 EXPECT_TRUE(pattern.MatchesURL(GURL("http://google.com/foobar")));
126 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.google.com/foo?bar"))); 133 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.google.com/foo?bar")));
127 EXPECT_TRUE(pattern.MatchesURL( 134 EXPECT_TRUE(pattern.MatchesURL(
128 GURL("http://monkey.images.google.com/foooobar"))); 135 GURL("http://monkey.images.google.com/foooobar")));
129 EXPECT_FALSE(pattern.MatchesURL(GURL("http://yahoo.com/foobar"))); 136 EXPECT_FALSE(pattern.MatchesURL(GURL("http://yahoo.com/foobar")));
137 EXPECT_FALSE(pattern.MatchesURL(
138 GURL("filesystem:http://google.com/foobar/")));
139 pattern.SetMatchNestedURLPath(true);
140 EXPECT_FALSE(pattern.MatchesURL(
141 GURL("filesystem:http://google.com/temporary/foobar")));
130 } 142 }
131 143
132 // glob escaping 144 // glob escaping
133 TEST(ExtensionURLPatternTest, Match5) { 145 TEST(ExtensionURLPatternTest, Match5) {
134 URLPattern pattern(kAllSchemes); 146 URLPattern pattern(kAllSchemes);
135 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("file:///foo?bar\\*baz")); 147 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("file:///foo?bar\\*baz"));
136 EXPECT_EQ("file", pattern.scheme()); 148 EXPECT_EQ("file", pattern.scheme());
137 EXPECT_EQ("", pattern.host()); 149 EXPECT_EQ("", pattern.host());
138 EXPECT_FALSE(pattern.match_subdomains()); 150 EXPECT_FALSE(pattern.match_subdomains());
139 EXPECT_FALSE(pattern.match_all_urls()); 151 EXPECT_FALSE(pattern.match_all_urls());
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 }; 231 };
220 232
221 // <all_urls> 233 // <all_urls>
222 TEST(ExtensionURLPatternTest, Match11) { 234 TEST(ExtensionURLPatternTest, Match11) {
223 URLPattern pattern(kAllSchemes); 235 URLPattern pattern(kAllSchemes);
224 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("<all_urls>")); 236 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("<all_urls>"));
225 EXPECT_TRUE(pattern.MatchesScheme("chrome")); 237 EXPECT_TRUE(pattern.MatchesScheme("chrome"));
226 EXPECT_TRUE(pattern.MatchesScheme("http")); 238 EXPECT_TRUE(pattern.MatchesScheme("http"));
227 EXPECT_TRUE(pattern.MatchesScheme("https")); 239 EXPECT_TRUE(pattern.MatchesScheme("https"));
228 EXPECT_TRUE(pattern.MatchesScheme("file")); 240 EXPECT_TRUE(pattern.MatchesScheme("file"));
241 EXPECT_TRUE(pattern.MatchesScheme("filesystem"));
229 EXPECT_TRUE(pattern.MatchesScheme("chrome-extension")); 242 EXPECT_TRUE(pattern.MatchesScheme("chrome-extension"));
230 EXPECT_TRUE(pattern.match_subdomains()); 243 EXPECT_TRUE(pattern.match_subdomains());
231 EXPECT_TRUE(pattern.match_all_urls()); 244 EXPECT_TRUE(pattern.match_all_urls());
232 EXPECT_EQ("/*", pattern.path()); 245 EXPECT_EQ("/*", pattern.path());
233 EXPECT_TRUE(pattern.MatchesURL(GURL("chrome://favicon/http://google.com"))); 246 EXPECT_TRUE(pattern.MatchesURL(GURL("chrome://favicon/http://google.com")));
234 EXPECT_TRUE(pattern.MatchesURL(GURL("http://127.0.0.1"))); 247 EXPECT_TRUE(pattern.MatchesURL(GURL("http://127.0.0.1")));
235 EXPECT_TRUE(pattern.MatchesURL(GURL("file:///foo/bar"))); 248 EXPECT_TRUE(pattern.MatchesURL(GURL("file:///foo/bar")));
236 EXPECT_TRUE(pattern.MatchesURL(GURL("file://localhost/foo/bar"))); 249 EXPECT_TRUE(pattern.MatchesURL(GURL("file://localhost/foo/bar")));
250 EXPECT_TRUE(pattern.MatchesURL(GURL("filesystem:http://a.com/t/b")));
251 EXPECT_TRUE(pattern.MatchesURL(GURL("filesystem:file:///t/b")));
237 252
238 // Make sure the properties are the same when creating an <all_urls> pattern 253 // Make sure the properties are the same when creating an <all_urls> pattern
239 // via SetMatchAllURLs and by parsing <all_urls>. 254 // via SetMatchAllURLs and by parsing <all_urls>.
240 URLPattern pattern2(kAllSchemes); 255 URLPattern pattern2(kAllSchemes);
241 pattern2.SetMatchAllURLs(true); 256 pattern2.SetMatchAllURLs(true);
242 257
243 EXPECT_EQ(pattern.valid_schemes(), pattern2.valid_schemes()); 258 EXPECT_EQ(pattern.valid_schemes(), pattern2.valid_schemes());
244 EXPECT_EQ(pattern.match_subdomains(), pattern2.match_subdomains()); 259 EXPECT_EQ(pattern.match_subdomains(), pattern2.match_subdomains());
245 EXPECT_EQ(pattern.path(), pattern2.path()); 260 EXPECT_EQ(pattern.path(), pattern2.path());
246 EXPECT_EQ(pattern.match_all_urls(), pattern2.match_all_urls()); 261 EXPECT_EQ(pattern.match_all_urls(), pattern2.match_all_urls());
247 EXPECT_EQ(pattern.scheme(), pattern2.scheme()); 262 EXPECT_EQ(pattern.scheme(), pattern2.scheme());
248 EXPECT_EQ(pattern.port(), pattern2.port()); 263 EXPECT_EQ(pattern.port(), pattern2.port());
249 EXPECT_EQ(pattern.GetAsString(), pattern2.GetAsString()); 264 EXPECT_EQ(pattern.GetAsString(), pattern2.GetAsString());
250 }; 265 };
251 266
252 // SCHEME_ALL matches all schemes. 267 // SCHEME_ALL matches all schemes.
253 TEST(ExtensionURLPatternTest, Match12) { 268 TEST(ExtensionURLPatternTest, Match12) {
254 URLPattern pattern(URLPattern::SCHEME_ALL); 269 URLPattern pattern(URLPattern::SCHEME_ALL);
255 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("<all_urls>")); 270 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("<all_urls>"));
256 EXPECT_TRUE(pattern.MatchesScheme("chrome")); 271 EXPECT_TRUE(pattern.MatchesScheme("chrome"));
257 EXPECT_TRUE(pattern.MatchesScheme("http")); 272 EXPECT_TRUE(pattern.MatchesScheme("http"));
258 EXPECT_TRUE(pattern.MatchesScheme("https")); 273 EXPECT_TRUE(pattern.MatchesScheme("https"));
259 EXPECT_TRUE(pattern.MatchesScheme("file")); 274 EXPECT_TRUE(pattern.MatchesScheme("file"));
275 EXPECT_TRUE(pattern.MatchesScheme("filesystem"));
260 EXPECT_TRUE(pattern.MatchesScheme("javascript")); 276 EXPECT_TRUE(pattern.MatchesScheme("javascript"));
261 EXPECT_TRUE(pattern.MatchesScheme("data")); 277 EXPECT_TRUE(pattern.MatchesScheme("data"));
262 EXPECT_TRUE(pattern.MatchesScheme("about")); 278 EXPECT_TRUE(pattern.MatchesScheme("about"));
263 EXPECT_TRUE(pattern.MatchesScheme("chrome-extension")); 279 EXPECT_TRUE(pattern.MatchesScheme("chrome-extension"));
264 EXPECT_TRUE(pattern.match_subdomains()); 280 EXPECT_TRUE(pattern.match_subdomains());
265 EXPECT_TRUE(pattern.match_all_urls()); 281 EXPECT_TRUE(pattern.match_all_urls());
266 EXPECT_EQ("/*", pattern.path()); 282 EXPECT_EQ("/*", pattern.path());
267 EXPECT_TRUE(pattern.MatchesURL(GURL("chrome://favicon/http://google.com"))); 283 EXPECT_TRUE(pattern.MatchesURL(GURL("chrome://favicon/http://google.com")));
268 EXPECT_TRUE(pattern.MatchesURL(GURL("http://127.0.0.1"))); 284 EXPECT_TRUE(pattern.MatchesURL(GURL("http://127.0.0.1")));
269 EXPECT_TRUE(pattern.MatchesURL(GURL("file:///foo/bar"))); 285 EXPECT_TRUE(pattern.MatchesURL(GURL("file:///foo/bar")));
270 EXPECT_TRUE(pattern.MatchesURL(GURL("file://localhost/foo/bar"))); 286 EXPECT_TRUE(pattern.MatchesURL(GURL("file://localhost/foo/bar")));
271 EXPECT_TRUE(pattern.MatchesURL(GURL("chrome://newtab"))); 287 EXPECT_TRUE(pattern.MatchesURL(GURL("chrome://newtab")));
272 EXPECT_TRUE(pattern.MatchesURL(GURL("about:blank"))); 288 EXPECT_TRUE(pattern.MatchesURL(GURL("about:blank")));
273 EXPECT_TRUE(pattern.MatchesURL(GURL("about:version"))); 289 EXPECT_TRUE(pattern.MatchesURL(GURL("about:version")));
274 EXPECT_TRUE(pattern.MatchesURL( 290 EXPECT_TRUE(pattern.MatchesURL(
275 GURL("data:text/html;charset=utf-8,<html>asdf</html>"))); 291 GURL("data:text/html;charset=utf-8,<html>asdf</html>")));
292 EXPECT_TRUE(pattern.MatchesURL(GURL("filesystem:http://a.com/t/b")));
293 EXPECT_TRUE(pattern.MatchesURL(GURL("filesystem:file:///t/b")));
276 }; 294 };
277 295
278 static const struct MatchPatterns { 296 static const struct MatchPatterns {
279 const char* pattern; 297 const char* pattern;
280 const char* matches; 298 const char* matches;
281 } kMatch13UrlPatternTestCases[] = { 299 } kMatch13UrlPatternTestCases[] = {
282 {"about:*", "about:blank"}, 300 {"about:*", "about:blank"},
283 {"about:blank", "about:blank"}, 301 {"about:blank", "about:blank"},
284 {"about:*", "about:version"}, 302 {"about:*", "about:version"},
285 {"chrome-extension://*/*", "chrome-extension://FTW"}, 303 {"chrome-extension://*/*", "chrome-extension://FTW"},
286 {"data:*", "data:monkey"}, 304 {"data:*", "data:monkey"},
287 {"javascript:*", "javascript:atemyhomework"}, 305 {"javascript:*", "javascript:atemyhomework"},
306 {"chrome-extension://*/*", "filesystem:chrome-extension://id/p/f"},
288 }; 307 };
289 308
290 // SCHEME_ALL and specific schemes. 309 // SCHEME_ALL and specific schemes.
291 TEST(ExtensionURLPatternTest, Match13) { 310 TEST(ExtensionURLPatternTest, Match13) {
292 for (size_t i = 0; i < arraysize(kMatch13UrlPatternTestCases); ++i) { 311 for (size_t i = 0; i < arraysize(kMatch13UrlPatternTestCases); ++i) {
293 URLPattern pattern(URLPattern::SCHEME_ALL); 312 URLPattern pattern(URLPattern::SCHEME_ALL);
294 EXPECT_EQ(URLPattern::PARSE_SUCCESS, 313 EXPECT_EQ(URLPattern::PARSE_SUCCESS,
295 pattern.Parse(kMatch13UrlPatternTestCases[i].pattern)) 314 pattern.Parse(kMatch13UrlPatternTestCases[i].pattern))
296 << " while parsing " << kMatch13UrlPatternTestCases[i].pattern; 315 << " while parsing " << kMatch13UrlPatternTestCases[i].pattern;
297 EXPECT_TRUE(pattern.MatchesURL( 316 EXPECT_TRUE(pattern.MatchesURL(
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 pattern.Parse("http://www.example.com:80/foo")); 380 pattern.Parse("http://www.example.com:80/foo"));
362 EXPECT_EQ("http", pattern.scheme()); 381 EXPECT_EQ("http", pattern.scheme());
363 EXPECT_EQ("www.example.com", pattern.host()); 382 EXPECT_EQ("www.example.com", pattern.host());
364 EXPECT_FALSE(pattern.match_subdomains()); 383 EXPECT_FALSE(pattern.match_subdomains());
365 EXPECT_FALSE(pattern.match_all_urls()); 384 EXPECT_FALSE(pattern.match_all_urls());
366 EXPECT_EQ("/foo", pattern.path()); 385 EXPECT_EQ("/foo", pattern.path());
367 EXPECT_EQ("80", pattern.port()); 386 EXPECT_EQ("80", pattern.port());
368 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com:80/foo"))); 387 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com:80/foo")));
369 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com/foo"))); 388 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com/foo")));
370 EXPECT_FALSE(pattern.MatchesURL(GURL("http://www.example.com:8080/foo"))); 389 EXPECT_FALSE(pattern.MatchesURL(GURL("http://www.example.com:8080/foo")));
390 EXPECT_FALSE(pattern.MatchesURL(
391 GURL("filesystem:http://www.example.com:8080/foo/")));
392 EXPECT_FALSE(pattern.MatchesURL(GURL("filesystem:http://www.example.com/f/foo" )));
393 pattern.SetMatchNestedURLPath(true);
394 EXPECT_FALSE(pattern.MatchesURL(GURL("filesystem:http://www.example.com/f/foo" )));
371 } 395 }
372 396
373 // Explicit port wildcard 397 // Explicit port wildcard
374 TEST(ExtensionURLPatternTest, Match18) { 398 TEST(ExtensionURLPatternTest, Match18) {
375 URLPattern pattern(kAllSchemes); 399 URLPattern pattern(kAllSchemes);
376 EXPECT_EQ(URLPattern::PARSE_SUCCESS, 400 EXPECT_EQ(URLPattern::PARSE_SUCCESS,
377 pattern.Parse("http://www.example.com:*/foo")); 401 pattern.Parse("http://www.example.com:*/foo"));
378 EXPECT_EQ("http", pattern.scheme()); 402 EXPECT_EQ("http", pattern.scheme());
379 EXPECT_EQ("www.example.com", pattern.host()); 403 EXPECT_EQ("www.example.com", pattern.host());
380 EXPECT_FALSE(pattern.match_subdomains()); 404 EXPECT_FALSE(pattern.match_subdomains());
381 EXPECT_FALSE(pattern.match_all_urls()); 405 EXPECT_FALSE(pattern.match_all_urls());
382 EXPECT_EQ("/foo", pattern.path()); 406 EXPECT_EQ("/foo", pattern.path());
383 EXPECT_EQ("*", pattern.port()); 407 EXPECT_EQ("*", pattern.port());
384 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com:80/foo"))); 408 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com:80/foo")));
385 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com/foo"))); 409 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com/foo")));
386 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com:8080/foo"))); 410 EXPECT_TRUE(pattern.MatchesURL(GURL("http://www.example.com:8080/foo")));
411 EXPECT_FALSE(pattern.MatchesURL(
412 GURL("filesystem:http://www.example.com:8080/foo/")));
387 } 413 }
388 414
389 // chrome-extension:// 415 // chrome-extension://
390 TEST(ExtensionURLPatternTest, Match19) { 416 TEST(ExtensionURLPatternTest, Match19) {
391 URLPattern pattern(URLPattern::SCHEME_EXTENSION); 417 URLPattern pattern(URLPattern::SCHEME_EXTENSION);
392 EXPECT_EQ(URLPattern::PARSE_SUCCESS, 418 EXPECT_EQ(URLPattern::PARSE_SUCCESS,
393 pattern.Parse("chrome-extension://ftw/*")); 419 pattern.Parse("chrome-extension://ftw/*"));
394 EXPECT_EQ("chrome-extension", pattern.scheme()); 420 EXPECT_EQ("chrome-extension", pattern.scheme());
395 EXPECT_EQ("ftw", pattern.host()); 421 EXPECT_EQ("ftw", pattern.host());
396 EXPECT_FALSE(pattern.match_subdomains()); 422 EXPECT_FALSE(pattern.match_subdomains());
397 EXPECT_FALSE(pattern.match_all_urls()); 423 EXPECT_FALSE(pattern.match_all_urls());
398 EXPECT_EQ("/*", pattern.path()); 424 EXPECT_EQ("/*", pattern.path());
399 EXPECT_TRUE(pattern.MatchesURL(GURL("chrome-extension://ftw"))); 425 EXPECT_TRUE(pattern.MatchesURL(GURL("chrome-extension://ftw")));
400 EXPECT_TRUE(pattern.MatchesURL( 426 EXPECT_TRUE(pattern.MatchesURL(
401 GURL("chrome-extension://ftw/http://google.com"))); 427 GURL("chrome-extension://ftw/http://google.com")));
402 EXPECT_TRUE(pattern.MatchesURL( 428 EXPECT_TRUE(pattern.MatchesURL(
403 GURL("chrome-extension://ftw/https://google.com"))); 429 GURL("chrome-extension://ftw/https://google.com")));
404 EXPECT_FALSE(pattern.MatchesURL(GURL("chrome-extension://foobar"))); 430 EXPECT_FALSE(pattern.MatchesURL(GURL("chrome-extension://foobar")));
431 EXPECT_TRUE(pattern.MatchesURL(
432 GURL("filesystem:chrome-extension://ftw/f/")));
433 pattern.SetMatchNestedURLPath(true);
434 EXPECT_TRUE(pattern.MatchesURL(
435 GURL("filesystem:chrome-extension://ftw/t/file.txt")));
405 }; 436 };
406 437
407 static const struct GetAsStringPatterns { 438 static const struct GetAsStringPatterns {
408 const char* pattern; 439 const char* pattern;
409 } kGetAsStringTestCases[] = { 440 } kGetAsStringTestCases[] = {
410 { "http://www/" }, 441 { "http://www/" },
411 { "http://*/*" }, 442 { "http://*/*" },
412 { "chrome://*/*" }, 443 { "chrome://*/*" },
413 { "chrome://newtab/" }, 444 { "chrome://newtab/" },
414 { "about:*" }, 445 { "about:*" },
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 666
636 EXPECT_FALSE(pattern2.MatchesURL(GURL("http://bb.com/path"))); 667 EXPECT_FALSE(pattern2.MatchesURL(GURL("http://bb.com/path")));
637 EXPECT_TRUE(pattern2.MatchesURL(GURL("http://aa.com/path"))); 668 EXPECT_TRUE(pattern2.MatchesURL(GURL("http://aa.com/path")));
638 EXPECT_FALSE(pattern2.MatchesURL(GURL("http://sub.aa.com/path"))); 669 EXPECT_FALSE(pattern2.MatchesURL(GURL("http://sub.aa.com/path")));
639 670
640 URLPattern pattern3(URLPattern::SCHEME_ALL, "http://aa.com/*"); 671 URLPattern pattern3(URLPattern::SCHEME_ALL, "http://aa.com/*");
641 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern3.Parse("http://aa.com:88/*")); 672 EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern3.Parse("http://aa.com:88/*"));
642 EXPECT_FALSE(pattern3.MatchesURL(GURL("http://aa.com/path"))); 673 EXPECT_FALSE(pattern3.MatchesURL(GURL("http://aa.com/path")));
643 EXPECT_TRUE(pattern3.MatchesURL(GURL("http://aa.com:88/path"))); 674 EXPECT_TRUE(pattern3.MatchesURL(GURL("http://aa.com:88/path")));
644 } 675 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698