Home | History | Annotate | Download | only in common

Lines Matching refs:Pattern

12 ContentSettingsPattern Pattern(const std::string& str) {
21 Pattern("[*.]ikea.com").ToString().c_str());
48 // NOTICE: When content settings pattern are created from a GURL the following
55 ContentSettingsPattern pattern = ContentSettingsPattern::FromURL(
57 EXPECT_TRUE(pattern.IsValid());
58 EXPECT_STREQ("[*.]www.youtube.com", pattern.ToString().c_str());
61 pattern = ContentSettingsPattern::FromURL(GURL("http://www.google.com"));
62 EXPECT_TRUE(pattern.Matches(GURL("http://www.google.com")));
63 EXPECT_TRUE(pattern.Matches(GURL("http://foo.www.google.com")));
64 EXPECT_TRUE(pattern.Matches(GURL("http://www.google.com:80")));
65 EXPECT_TRUE(pattern.Matches(GURL("http://www.google.com:81")));
66 EXPECT_FALSE(pattern.Matches(GURL("https://mail.google.com")));
67 EXPECT_TRUE(pattern.Matches(GURL("https://www.google.com")));
69 pattern = ContentSettingsPattern::FromURL(GURL("http://www.google.com:80"));
70 EXPECT_TRUE(pattern.Matches(GURL("http://www.google.com")));
71 EXPECT_TRUE(pattern.Matches(GURL("http://www.google.com:80")));
72 EXPECT_TRUE(pattern.Matches(GURL("http://www.google.com:81")));
74 pattern = ContentSettingsPattern::FromURL(GURL("https://www.google.com:443"));
75 EXPECT_TRUE(pattern.Matches(GURL("https://www.google.com")));
76 EXPECT_TRUE(pattern.Matches(GURL("https://foo.www.google.com")));
77 EXPECT_TRUE(pattern.Matches(GURL("https://www.google.com:443")));
78 EXPECT_FALSE(pattern.Matches(GURL("https://www.google.com:444")));
79 EXPECT_FALSE(pattern.Matches(GURL("http://www.google.com:443")));
81 pattern = ContentSettingsPattern::FromURL(GURL("https://127.0.0.1"));
82 EXPECT_TRUE(pattern.IsValid());
83 EXPECT_STREQ("https://127.0.0.1:443", pattern.ToString().c_str());
85 pattern = ContentSettingsPattern::FromURL(GURL("http://[::1]"));
86 EXPECT_TRUE(pattern.IsValid());
88 pattern = ContentSettingsPattern::FromURL(GURL("file:///foo/bar.html"));
89 EXPECT_TRUE(pattern.IsValid());
90 EXPECT_EQ("file:///foo/bar.html", pattern.ToString());
94 ContentSettingsPattern pattern =
96 EXPECT_TRUE(pattern.Matches(
98 EXPECT_TRUE(pattern.Matches(
100 EXPECT_TRUE(pattern.Matches(
102 EXPECT_TRUE(pattern.Matches(
105 pattern = ContentSettingsPattern::FromURL(GURL("https://www.google.com"));
106 EXPECT_TRUE(pattern.Matches(
108 EXPECT_TRUE(pattern.Matches(
110 EXPECT_TRUE(pattern.Matches(
112 EXPECT_FALSE(pattern.Matches(
115 // A pattern from a filesystem URLs is equivalent to a pattern from the inner
119 EXPECT_EQ(ContentSettingsPattern::IDENTITY, pattern.Compare(pattern2));
123 pattern =
126 EXPECT_TRUE(pattern.Matches(GURL("filesystem:file:///temporary/")));
127 EXPECT_TRUE(pattern.Matches(GURL("filesystem:file:///temporary/test.txt")));
128 EXPECT_TRUE(pattern.Matches(GURL("file:///temporary")));
129 EXPECT_FALSE(pattern.Matches(GURL("file://foo/bar")));
133 EXPECT_EQ(ContentSettingsPattern::IDENTITY, pattern.Compare(pattern2));
139 // explicitly or implicitly. Therefore if a content settings pattern is
141 // scheme, host and port part of the pattern.
142 // Creating content settings patterns from strings behaves different. Pattern
143 // parts that are omitted in pattern specifications (strings), are completed
145 ContentSettingsPattern pattern = ContentSettingsPattern::FromURLNoWildcard(
147 EXPECT_TRUE(pattern.IsValid());
148 EXPECT_STREQ("http://www.example.com:80", pattern.ToString().c_str());
149 EXPECT_TRUE(pattern.Matches(GURL("http://www.example.com")));
150 EXPECT_FALSE(pattern.Matches(GURL("https://www.example.com")));
151 EXPECT_FALSE(pattern.Matches(GURL("http://foo.www.example.com")));
153 pattern = ContentSettingsPattern::FromURLNoWildcard(
155 EXPECT_TRUE(pattern.IsValid());
156 EXPECT_STREQ("https://www.example.com:443", pattern.ToString().c_str());
157 EXPECT_FALSE(pattern.Matches(GURL("http://www.example.com")));
158 EXPECT_TRUE(pattern.Matches(GURL("https://www.example.com")));
159 EXPECT_FALSE(pattern.Matches(GURL("http://foo.www.example.com")));
161 // Pattern for filesystem URLs
162 pattern =
165 EXPECT_TRUE(pattern.IsValid());
166 EXPECT_TRUE(pattern.Matches(GURL("http://www.google.com")));
167 EXPECT_FALSE(pattern.Matches(GURL("http://foo.www.google.com")));
168 EXPECT_TRUE(pattern.Matches(
170 EXPECT_FALSE(pattern.Matches(
172 EXPECT_FALSE(pattern.Matches(
174 EXPECT_FALSE(pattern.Matches(
198 EXPECT_TRUE(Pattern("www.example.com").IsValid());
199 EXPECT_TRUE(Pattern("www.example.com").Matches(
201 EXPECT_TRUE(Pattern("www.example.com").Matches(
204 EXPECT_TRUE(Pattern("www.example.com.").IsValid());
206 Pattern("www.example.com.").ToString().c_str());
208 EXPECT_TRUE(Pattern("www.example.com.") == Pattern("www.example.com"));
210 EXPECT_TRUE(Pattern(".").IsValid());
211 EXPECT_STREQ(".", Pattern(".").ToString().c_str());
216 EXPECT_TRUE(Pattern("http://www.example.com:80").IsValid());
218 Pattern("http://www.example.com:80").ToString().c_str());
220 EXPECT_TRUE(Pattern("http://www.example.com:81").IsValid());
222 Pattern("http://www.example.com:81").ToString().c_str());
225 EXPECT_TRUE(Pattern("https://www.example.com:443").IsValid());
227 Pattern("https://www.example.com:443").ToString().c_str());
229 EXPECT_TRUE(Pattern("https://www.example.com:8080").IsValid());
231 Pattern("https://www.example.com:8080").ToString().c_str());
236 EXPECT_FALSE(Pattern("file:///").IsValid());
239 EXPECT_FALSE(Pattern("file://foo/").IsValid());
240 EXPECT_FALSE(Pattern("file://localhost/foo/bar/test.html").IsValid());
241 EXPECT_FALSE(Pattern("file://*").IsValid());
242 EXPECT_FALSE(Pattern("file://*/").IsValid());
243 EXPECT_FALSE(Pattern("file://*/*").IsValid());
244 EXPECT_FALSE(Pattern("file://*/foo/bar/test.html").IsValid());
245 EXPECT_FALSE(Pattern("file://[*.]/").IsValid());
248 EXPECT_TRUE(Pattern("file:///*").IsValid());
249 EXPECT_EQ("file:///*", Pattern("file:///*").ToString());
252 EXPECT_FALSE(Pattern("file:///f*o/bar/file.html").IsValid());
253 EXPECT_FALSE(Pattern("file:///*/bar/file.html").IsValid());
254 EXPECT_FALSE(Pattern("file:///foo/*").IsValid());
255 EXPECT_FALSE(Pattern("file:///foo/bar/*").IsValid());
256 EXPECT_FALSE(Pattern("file:///foo/*/file.html").IsValid());
257 EXPECT_FALSE(Pattern("file:///foo/bar/*.html").IsValid());
258 EXPECT_FALSE(Pattern("file:///foo/bar/file.*").IsValid());
260 EXPECT_TRUE(Pattern("file:///tmp/test.html").IsValid());
262 Pattern("file:///tmp/file.html").ToString());
263 EXPECT_TRUE(Pattern("file:///tmp/test.html").Matches(
265 EXPECT_FALSE(Pattern("file:///tmp/test.html").Matches(
267 EXPECT_FALSE(Pattern("file:///tmp/test.html").Matches(
270 EXPECT_TRUE(Pattern("file:///*").Matches(GURL("file:///tmp/test.html")));
271 EXPECT_TRUE(Pattern("file:///*").Matches(
276 EXPECT_TRUE(Pattern("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/")
279 Pattern("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/")
281 EXPECT_TRUE(Pattern("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/")
287 EXPECT_TRUE(Pattern("192.168.0.1").IsValid());
288 EXPECT_STREQ("192.168.1.1", Pattern("192.168.1.1").ToString().c_str());
289 EXPECT_TRUE(Pattern("https://192.168.0.1:8080").IsValid());
291 Pattern("https://192.168.0.1:8080").ToString().c_str());
294 EXPECT_FALSE(Pattern("[*.]127.0.0.1").IsValid());
297 EXPECT_TRUE(Pattern("[::1]").IsValid());
298 EXPECT_STREQ("[::1]", Pattern("[::1]").ToString().c_str());
299 EXPECT_TRUE(Pattern("https://[::1]:8080").IsValid());
301 Pattern("https://[::1]:8080").ToString().c_str());
305 // Creating content settings patterns from strings completes pattern parts
306 // that are omitted in pattern specifications (strings) with a wildcard.
308 // The wildcard pattern.
309 EXPECT_TRUE(Pattern("*").IsValid());
310 EXPECT_STREQ("*", Pattern("*").ToString().c_str());
312 Pattern("*").Compare(ContentSettingsPattern::Wildcard()));
315 EXPECT_TRUE(Pattern("http://example.com:*").IsValid());
317 Pattern("http://example.com:*").ToString().c_str());
319 EXPECT_TRUE(Pattern("https://example.com").IsValid());
321 Pattern("https://example.com").ToString().c_str());
323 EXPECT_TRUE(Pattern("*://www.google.com.com:8080").IsValid());
325 Pattern("*://www.google.com:8080").ToString().c_str());
326 EXPECT_TRUE(Pattern("*://www.google.com:8080").Matches(
328 EXPECT_TRUE(Pattern("*://www.google.com:8080").Matches(
331 Pattern("*://www.google.com").Matches(GURL("file:///foo/bar.html")));
333 EXPECT_TRUE(Pattern("www.example.com:8080").IsValid());
336 EXPECT_TRUE(Pattern("*://www.example.com:*").IsValid());
338 Pattern("*://www.example.com:*").ToString().c_str());
340 EXPECT_TRUE(Pattern("*://www.example.com").IsValid());
342 Pattern("*://www.example.com").ToString().c_str());
344 EXPECT_TRUE(Pattern("www.example.com:*").IsValid());
346 Pattern("www.example.com:*").ToString().c_str());
348 EXPECT_TRUE(Pattern("www.example.com").IsValid());
350 Pattern("www.example.com").ToString().c_str());
351 EXPECT_TRUE(Pattern("www.example.com").Matches(
353 EXPECT_FALSE(Pattern("example.com").Matches(
357 EXPECT_TRUE(Pattern("[*.]example.com").IsValid());
359 Pattern("[*.]example.com").ToString().c_str());
360 EXPECT_TRUE(Pattern("[*.]example.com").Matches(
362 EXPECT_TRUE(Pattern("[*.]example.com").Matches(
364 EXPECT_FALSE(Pattern("[*.]example.com").Matches(
367 EXPECT_TRUE(Pattern("[*.]google.com:80").Matches(
369 EXPECT_FALSE(Pattern("[*.]google.com:80").Matches(
371 EXPECT_TRUE(Pattern("[*.]google.com:80").Matches(
374 EXPECT_TRUE(Pattern("[*.]google.com:8080").Matches(
377 EXPECT_TRUE(Pattern("[*.]google.com:443").Matches(
379 EXPECT_TRUE(Pattern("[*.]google.com:443").Matches(
382 EXPECT_TRUE(Pattern("[*.]google.com:4321").Matches(
384 EXPECT_TRUE(Pattern
386 EXPECT_TRUE(Pattern("[*.]example.com").Matches(
390 EXPECT_TRUE(Pattern("[*.]").IsValid());
391 EXPECT_TRUE(Pattern("http://*").IsValid());
392 EXPECT_TRUE(Pattern("http://[*.]").IsValid());
393 EXPECT_EQ(std::string("http://*"), Pattern("http://[*.]").ToString());
394 EXPECT_TRUE(Pattern("http://*:8080").IsValid());
395 EXPECT_TRUE(Pattern("*://*").IsValid());
396 EXPECT_STREQ("*", Pattern("*://*").ToString().c_str());
401 EXPECT_TRUE(Pattern("[*.]\xC4\x87ira.com").IsValid());
403 Pattern("[*.]\xC4\x87ira.com").ToString().c_str());
404 EXPECT_TRUE(Pattern("\xC4\x87ira.com").IsValid());
406 Pattern("\xC4\x87ira.com").ToString().c_str());
407 EXPECT_TRUE(Pattern("file:///\xC4\x87ira.html").IsValid());
409 Pattern("file:///\xC4\x87ira.html").ToString().c_str());
412 EXPECT_TRUE(Pattern("file:///tmp/bar/../test.html").IsValid());
414 Pattern("file:///tmp/bar/../test.html").ToString().c_str());
418 // StubObserver expects an empty pattern top be returned as empty string.
422 // Empty pattern string
423 EXPECT_FALSE(Pattern(std::string()).IsValid());
424 EXPECT_STREQ("", Pattern(std::string()).ToString().c_str());
426 // Pattern strings with invalid scheme part.
427 EXPECT_FALSE(Pattern("ftp://myhost.org").IsValid());
428 EXPECT_STREQ("", Pattern("ftp://myhost.org").ToString().c_str());
430 // Pattern strings with invalid host part.
431 EXPECT_FALSE(Pattern("*example.com").IsValid());
432 EXPECT_STREQ("", Pattern("*example.com").ToString().c_str());
433 EXPECT_FALSE(Pattern("example.*").IsValid());
434 EXPECT_STREQ("", Pattern("example.*").ToString().c_str());
435 EXPECT_FALSE(Pattern("*\xC4\x87ira.com").IsValid());
436 EXPECT_STREQ("", Pattern("*\xC4\x87ira.com").ToString().c_str());
437 EXPECT_FALSE(Pattern("\xC4\x87ira.*").IsValid());
438 EXPECT_STREQ("", Pattern("\xC4\x87ira.*").ToString().c_str());
440 // Pattern strings with invalid port parts.
441 EXPECT_FALSE(Pattern("example.com:abc").IsValid());
442 EXPECT_STREQ("", Pattern("example.com:abc").ToString().c_str());
444 // Invalid file pattern strings.
445 EXPECT_FALSE(Pattern("file://").IsValid());
446 EXPECT_STREQ("", Pattern("file://").ToString().c_str());
447 EXPECT_FALSE(Pattern("file:///foo/bar.html:8080").IsValid());
448 EXPECT_STREQ("", Pattern("file:///foo/bar.html:8080").ToString().c_str());
451 EXPECT_FALSE(Pattern("www.example.com..").IsValid());
452 EXPECT_STREQ("", Pattern("www.example.com..").ToString().c_str());
456 EXPECT_TRUE(Pattern("http://www.foo.com") != Pattern("http://www.foo.com*"));
457 EXPECT_TRUE(Pattern("http://www.foo.com*") !=
460 EXPECT_TRUE(Pattern("http://www.foo.com") !=
463 EXPECT_TRUE(Pattern("http://www.foo.com") != Pattern("www.foo.com"));
464 EXPECT_TRUE(Pattern("http://www.foo.com") !=
465 Pattern("http://www.foo.com:80"));
467 EXPECT_FALSE(Pattern("http://www.foo.com") != Pattern("http://www.foo.com"));
468 EXPECT_TRUE(Pattern("http://www.foo.com") == Pattern("http://www.foo.com"));
474 Pattern("http://www.google.com");
477 Pattern("http://www.google.com:80").Compare(
478 Pattern("http://www.google.com:80")));
480 Pattern("*://[*.]google.com:*").Compare(
481 Pattern("*://[*.]google.com:*")));
494 // Compare a pattern with an IPv4 addresse to a pattern with a domain name.
496 Pattern("http://www.google.com").Compare(
497 Pattern("127.0.0.1")));
499 Pattern("127.0.0.1").Compare(
500 Pattern("http://www.google.com")));
501 EXPECT_TRUE(Pattern("127.0.0.1") > Pattern("http://www.google.com"));
502 EXPECT_TRUE(Pattern("http://www.google.com") < Pattern("127.0.0.1"));
504 // Compare a pattern with an IPv6 address to a patterns with a domain name.
506 Pattern("http://www.google.com").Compare(
507 Pattern("[::1]")));
509 Pattern("[::1]").Compare(
510 Pattern("http://www.google.com")));
511 EXPECT_TRUE(Pattern("[::1]") > Pattern("http://www.google.com"));
512 EXPECT_TRUE(Pattern("http://www.google.com") < Pattern("[::1]"));
514 // Compare a pattern with an IPv6 addresse to a pattern with an IPv4 addresse.
516 Pattern("127.0.0.1").Compare(
517 Pattern("[::1]")));
519 Pattern("[::1]").Compare(
520 Pattern("127.0.0.1")));
521 EXPECT_TRUE(Pattern("[::1]") < Pattern("127.0.0.1"));
522 EXPECT_TRUE(Pattern("127.0.0.1") > Pattern("[::1]"));
525 Pattern("http://www.google.com").Compare(
526 Pattern("http://www.youtube.com")));
528 Pattern("http://[*.]google.com").Compare(
529 Pattern("http://[*.]youtube.com")));
532 Pattern("http://[*.]host.com").Compare(
533 Pattern("http://[*.]evilhost.com")));
535 Pattern("*://www.google.com:80").Compare(
536 Pattern("*://www.google.com:8080")));
538 Pattern("https://www.google.com:80").Compare(
539 Pattern("http://www.google.com:80")));
542 Pattern("http://[*.]google.com:90").Compare(
543 Pattern("http://mail.google.com:80")));
545 Pattern("https://[*.]google.com:80").Compare(
546 Pattern("http://mail.google.com:80")));
548 Pattern("https://mail.google.com:*").Compare(
549 Pattern("http://mail.google.com:80")));
553 Pattern("mail.google.com").Compare(
554 Pattern("[*.]google.com")));
556 Pattern("[*.]google.com").Compare(
557 Pattern("mail.google.com")));
560 Pattern("[*.]mail.google.com").Compare(
561 Pattern("[*.]google.com")));
563 Pattern("[*.]google.com").Compare(
564 Pattern("[*.]mail.google.com")));
567 Pattern("mail.google.com:80").Compare(
568 Pattern("mail.google.com:*")));
570 Pattern("mail.google.com:*").Compare(
571 Pattern("mail.google.com:80")));
574 Pattern("https://mail.google.com:*").Compare(
575 Pattern("*://mail.google.com:*")));
577 Pattern("*://mail.google.com:*").Compare(
578 Pattern("https://mail.google.com:*")));
581 Pattern("*://mail.google.com:80").Compare(
582 Pattern("https://mail.google.com:*")));
584 Pattern("https://mail.google.com:*").Compare(
585 Pattern("*://mail.google.com:80")));
587 // Test the wildcard pattern.
593 Pattern("[*.]google.com").Compare(
597 Pattern("[*.]google.com")));
600 Pattern("mail.google.com").Compare(
604 Pattern("mail.google.com")));
610 EXPECT_TRUE(Pattern("[*.]example.com").IsValid());
611 EXPECT_TRUE(Pattern("example.com").IsValid());
612 EXPECT_TRUE(Pattern("192.168.0.1").IsValid());
613 EXPECT_TRUE(Pattern("[::1]").IsValid());
615 Pattern("file:///tmp/test.html").IsValid());
616 EXPECT_FALSE(Pattern("*example.com").IsValid());
617 EXPECT_FALSE(Pattern("example.*").IsValid());
620 Pattern("http://example.com").IsValid());
622 Pattern("https://example.com").IsValid());
624 EXPECT_TRUE(Pattern("[*.]example.com").Matches(
626 EXPECT_TRUE(Pattern("[*.]example.com").Matches(
628 EXPECT_TRUE(Pattern("www.example.com").Matches(
631 Pattern("file:///tmp/test.html").Matches(
633 EXPECT_FALSE(Pattern(std::string()).Matches(GURL("http://www.example.com/")));
634 EXPECT_FALSE(Pattern("[*.]example.com").Matches(
636 EXPECT_FALSE(Pattern("example.com").Matches(
639 Pattern("file:///tmp/test.html").Matches(
642 Pattern("file:///tmp/test.html").Matches(
648 EXPECT_STREQ("[*.]ikea.com", Pattern("[*.]ikea.com").ToString().c_str());
649 EXPECT_STREQ("example.com", Pattern("example.com").ToString().c_str());
650 EXPECT_STREQ("192.168.1.1", Pattern("192.168.1.1").ToString().c_str());
651 EXPECT_STREQ("[::1]", Pattern("[::1]").ToString().c_str());
653 Pattern("file:///tmp/file.html").ToString().c_str());
657 Pattern("[*.]\xC4\x87ira.com").ToString().c_str());
659 Pattern("\xC4\x87ira.com").ToString().c_str());
661 Pattern("file:///\xC4\x87ira.html").ToString().c_str());
665 Pattern("file:///tmp/bar/../test.html").ToString().c_str());
668 EXPECT_STREQ("", Pattern("*example.com").ToString().c_str());
669 EXPECT_STREQ("", Pattern("example.*").ToString().c_str());
670 EXPECT_STREQ("", Pattern("*\xC4\x87ira.com").ToString().c_str());
671 EXPECT_STREQ("", Pattern("\xC4\x87ira.*").ToString().c_str());