OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/content_settings/content_settings_pattern.h" | 5 #include "chrome/browser/content_settings/content_settings_pattern.h" |
6 | 6 |
7 #include "googleurl/src/gurl.h" | 7 #include "googleurl/src/gurl.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 | 9 |
10 namespace { | 10 namespace { |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 // Test identical patterns patterns. | 365 // Test identical patterns patterns. |
366 ContentSettingsPattern pattern1 = | 366 ContentSettingsPattern pattern1 = |
367 Pattern("http://www.google.com"); | 367 Pattern("http://www.google.com"); |
368 EXPECT_EQ(ContentSettingsPattern::IDENTITY, pattern1.Compare(pattern1)); | 368 EXPECT_EQ(ContentSettingsPattern::IDENTITY, pattern1.Compare(pattern1)); |
369 EXPECT_EQ(ContentSettingsPattern::IDENTITY, | 369 EXPECT_EQ(ContentSettingsPattern::IDENTITY, |
370 Pattern("http://www.google.com:80").Compare( | 370 Pattern("http://www.google.com:80").Compare( |
371 Pattern("http://www.google.com:80"))); | 371 Pattern("http://www.google.com:80"))); |
372 EXPECT_EQ(ContentSettingsPattern::IDENTITY, | 372 EXPECT_EQ(ContentSettingsPattern::IDENTITY, |
373 Pattern("*://[*.]google.com:*").Compare( | 373 Pattern("*://[*.]google.com:*").Compare( |
374 Pattern("*://[*.]google.com:*"))); | 374 Pattern("*://[*.]google.com:*"))); |
| 375 |
| 376 ContentSettingsPattern invalid_pattern1 = ContentSettingsPattern(); |
| 377 ContentSettingsPattern invalid_pattern2 = Pattern("www.google.com*"); |
375 | 378 |
376 // Test disjoint patterns. | 379 // Compare invalid patterns. |
377 EXPECT_EQ(ContentSettingsPattern::DISJOINT, | 380 EXPECT_TRUE(!invalid_pattern1.IsValid()); |
| 381 EXPECT_TRUE(!invalid_pattern2.IsValid()); |
| 382 EXPECT_EQ(ContentSettingsPattern::IDENTITY, |
| 383 invalid_pattern1.Compare(invalid_pattern2)); |
| 384 EXPECT_TRUE(invalid_pattern1 == invalid_pattern2); |
| 385 |
| 386 EXPECT_TRUE(invalid_pattern1 != pattern1); |
| 387 EXPECT_TRUE(pattern1 != invalid_pattern2); |
| 388 |
| 389 // Compare a pattern with an IPv4 addresse to a pattern with a domain name. |
| 390 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
| 391 Pattern("http://www.google.com").Compare( |
| 392 Pattern("127.0.0.1"))); |
| 393 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
| 394 Pattern("127.0.0.1").Compare( |
| 395 Pattern("http://www.google.com"))); |
| 396 EXPECT_TRUE(Pattern("127.0.0.1") > Pattern("http://www.google.com")); |
| 397 EXPECT_TRUE(Pattern("http://www.google.com") < Pattern("127.0.0.1")); |
| 398 |
| 399 // Compare a pattern with an IPv6 address to a patterns with a domain name. |
| 400 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
| 401 Pattern("http://www.google.com").Compare( |
| 402 Pattern("[::1]"))); |
| 403 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
| 404 Pattern("[::1]").Compare( |
| 405 Pattern("http://www.google.com"))); |
| 406 EXPECT_TRUE(Pattern("[::1]") > Pattern("http://www.google.com")); |
| 407 EXPECT_TRUE(Pattern("http://www.google.com") < Pattern("[::1]")); |
| 408 |
| 409 // Compare a pattern with an IPv6 addresse to a pattern with an IPv4 addresse. |
| 410 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
| 411 Pattern("127.0.0.1").Compare( |
| 412 Pattern("[::1]"))); |
| 413 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
| 414 Pattern("[::1]").Compare( |
| 415 Pattern("127.0.0.1"))); |
| 416 EXPECT_TRUE(Pattern("[::1]") < Pattern("127.0.0.1")); |
| 417 EXPECT_TRUE(Pattern("127.0.0.1") > Pattern("[::1]")); |
| 418 |
| 419 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
378 Pattern("http://www.google.com").Compare( | 420 Pattern("http://www.google.com").Compare( |
379 Pattern("http://www.youtube.com"))); | 421 Pattern("http://www.youtube.com"))); |
380 EXPECT_EQ(ContentSettingsPattern::DISJOINT, | 422 EXPECT_TRUE(Pattern("http://www.google.com") != |
| 423 Pattern("http://www.youtube.com")); |
| 424 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
381 Pattern("http://[*.]google.com").Compare( | 425 Pattern("http://[*.]google.com").Compare( |
382 Pattern("http://[*.]youtube.com"))); | 426 Pattern("http://[*.]youtube.com"))); |
383 EXPECT_EQ(ContentSettingsPattern::DISJOINT, | 427 |
| 428 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
384 Pattern("http://[*.]host.com").Compare( | 429 Pattern("http://[*.]host.com").Compare( |
385 Pattern("http://[*.]evilhost.com"))); | 430 Pattern("http://[*.]evilhost.com"))); |
386 EXPECT_EQ(ContentSettingsPattern::DISJOINT, | 431 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
387 Pattern("*://www.google.com:80").Compare( | 432 Pattern("*://www.google.com:80").Compare( |
388 Pattern("*://www.google.com:8080"))); | 433 Pattern("*://www.google.com:8080"))); |
389 EXPECT_EQ(ContentSettingsPattern::DISJOINT, | 434 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
390 Pattern("https://www.google.com:80").Compare( | 435 Pattern("https://www.google.com:80").Compare( |
391 Pattern("http://www.google.com:80"))); | 436 Pattern("http://www.google.com:80"))); |
392 | 437 |
393 EXPECT_EQ(ContentSettingsPattern::DISJOINT, | 438 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
394 Pattern("http://[*.]google.com:90").Compare( | 439 Pattern("http://[*.]google.com:90").Compare( |
395 Pattern("http://mail.google.com:80"))); | 440 Pattern("http://mail.google.com:80"))); |
396 EXPECT_EQ(ContentSettingsPattern::DISJOINT, | 441 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
397 Pattern("https://[*.]google.com:80").Compare( | 442 Pattern("https://[*.]google.com:80").Compare( |
398 Pattern("http://mail.google.com:80"))); | 443 Pattern("http://mail.google.com:80"))); |
399 EXPECT_EQ(ContentSettingsPattern::DISJOINT, | 444 EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
400 Pattern("https://mail.google.com:*").Compare( | 445 Pattern("https://mail.google.com:*").Compare( |
401 Pattern("http://mail.google.com:80"))); | 446 Pattern("http://mail.google.com:80"))); |
402 | 447 |
403 // Test patterns with different precedences. | 448 // Test patterns with different precedences. |
404 EXPECT_EQ(ContentSettingsPattern::PREDECESSOR, | 449 EXPECT_EQ(ContentSettingsPattern::PREDECESSOR, |
405 Pattern("mail.google.com").Compare( | 450 Pattern("mail.google.com").Compare( |
406 Pattern("[*.]google.com"))); | 451 Pattern("[*.]google.com"))); |
407 EXPECT_EQ(ContentSettingsPattern::SUCCESSOR, | 452 EXPECT_EQ(ContentSettingsPattern::SUCCESSOR, |
408 Pattern("[*.]google.com").Compare( | 453 Pattern("[*.]google.com").Compare( |
409 Pattern("mail.google.com"))); | 454 Pattern("mail.google.com"))); |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
516 // file:/// normalization. | 561 // file:/// normalization. |
517 EXPECT_STREQ("file:///tmp/test.html", | 562 EXPECT_STREQ("file:///tmp/test.html", |
518 Pattern("file:///tmp/bar/../test.html").ToString().c_str()); | 563 Pattern("file:///tmp/bar/../test.html").ToString().c_str()); |
519 | 564 |
520 // Invalid patterns. | 565 // Invalid patterns. |
521 EXPECT_STREQ("", Pattern("*example.com").ToString().c_str()); | 566 EXPECT_STREQ("", Pattern("*example.com").ToString().c_str()); |
522 EXPECT_STREQ("", Pattern("example.*").ToString().c_str()); | 567 EXPECT_STREQ("", Pattern("example.*").ToString().c_str()); |
523 EXPECT_STREQ("", Pattern("*\xC4\x87ira.com").ToString().c_str()); | 568 EXPECT_STREQ("", Pattern("*\xC4\x87ira.com").ToString().c_str()); |
524 EXPECT_STREQ("", Pattern("\xC4\x87ira.*").ToString().c_str()); | 569 EXPECT_STREQ("", Pattern("\xC4\x87ira.*").ToString().c_str()); |
525 } | 570 } |
OLD | NEW |