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 "components/content_settings/core/common/content_settings_pattern.h" | 5 #include "components/content_settings/core/common/content_settings_pattern.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 #include "url/gurl.h" | 8 #include "url/gurl.h" |
9 | 9 |
10 namespace { | 10 namespace { |
(...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
713 // file:/// normalization. | 713 // file:/// normalization. |
714 EXPECT_STREQ("file:///tmp/test.html", | 714 EXPECT_STREQ("file:///tmp/test.html", |
715 Pattern("file:///tmp/bar/../test.html").ToString().c_str()); | 715 Pattern("file:///tmp/bar/../test.html").ToString().c_str()); |
716 | 716 |
717 // Invalid patterns. | 717 // Invalid patterns. |
718 EXPECT_STREQ("", Pattern("*example.com").ToString().c_str()); | 718 EXPECT_STREQ("", Pattern("*example.com").ToString().c_str()); |
719 EXPECT_STREQ("", Pattern("example.*").ToString().c_str()); | 719 EXPECT_STREQ("", Pattern("example.*").ToString().c_str()); |
720 EXPECT_STREQ("", Pattern("*\xC4\x87ira.com").ToString().c_str()); | 720 EXPECT_STREQ("", Pattern("*\xC4\x87ira.com").ToString().c_str()); |
721 EXPECT_STREQ("", Pattern("\xC4\x87ira.*").ToString().c_str()); | 721 EXPECT_STREQ("", Pattern("\xC4\x87ira.*").ToString().c_str()); |
722 } | 722 } |
| 723 |
| 724 TEST(ContentSettingsPatternTest, MigrateFromDomainToOrigin) { |
| 725 ContentSettingsPattern origin_pattern; |
| 726 // Http scheme patterns. |
| 727 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 728 ContentSettingsPattern::FromString("http://[*.]example.com"), |
| 729 &origin_pattern)); |
| 730 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 731 ContentSettingsPattern::FromString("http://[*.]example.com:80"), |
| 732 &origin_pattern)); |
| 733 |
| 734 // Https patterns with port wildcard. |
| 735 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 736 ContentSettingsPattern::FromString("https://www.google.com"), |
| 737 &origin_pattern)); |
| 738 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 739 ContentSettingsPattern::FromString("https://[*.]google.com"), |
| 740 &origin_pattern)); |
| 741 |
| 742 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 743 ContentSettingsPattern::FromString("www.google.com"), &origin_pattern)); |
| 744 |
| 745 // Patterns with no domain wildcard. |
| 746 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 747 ContentSettingsPattern::FromString("*://www.google.com:8080"), |
| 748 &origin_pattern)); |
| 749 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 750 ContentSettingsPattern::FromString("www.example.com:8080"), |
| 751 &origin_pattern)); |
| 752 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 753 ContentSettingsPattern::FromString("www.google.com/*"), &origin_pattern)); |
| 754 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 755 ContentSettingsPattern::FromString("google"), &origin_pattern)); |
| 756 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 757 ContentSettingsPattern::FromString("https://www.google.com:443"), |
| 758 &origin_pattern)); |
| 759 |
| 760 // Patterns with empty host. |
| 761 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 762 ContentSettingsPattern::FromString("*"), &origin_pattern)); |
| 763 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 764 ContentSettingsPattern::FromString("[*.]"), &origin_pattern)); |
| 765 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 766 ContentSettingsPattern::FromString("http://*"), &origin_pattern)); |
| 767 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 768 ContentSettingsPattern::FromString("http://*:8080"), &origin_pattern)); |
| 769 |
| 770 // Other schemes and IP address patterns won't be migrated. |
| 771 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 772 ContentSettingsPattern::FromString("192.168.0.1"), &origin_pattern)); |
| 773 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 774 ContentSettingsPattern::FromString("https://127.0.0.1"), |
| 775 &origin_pattern)); |
| 776 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 777 ContentSettingsPattern::FromString("http://[::1]"), &origin_pattern)); |
| 778 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 779 ContentSettingsPattern::FromString("[::1]"), &origin_pattern)); |
| 780 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 781 ContentSettingsPattern::FromString("file:///foo/bar.html"), |
| 782 &origin_pattern)); |
| 783 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 784 ContentSettingsPattern::FromString( |
| 785 "filesystem:http://www.google.com/temporary/"), |
| 786 &origin_pattern)); |
| 787 EXPECT_FALSE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 788 ContentSettingsPattern::FromString( |
| 789 "chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/"), |
| 790 &origin_pattern)); |
| 791 |
| 792 // These are pattern styles which might be generated using FromURL(). |
| 793 EXPECT_TRUE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 794 ContentSettingsPattern::FromString("[*.]example.com"), &origin_pattern)); |
| 795 EXPECT_EQ("http://example.com:80", origin_pattern.ToString()); |
| 796 |
| 797 EXPECT_TRUE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 798 ContentSettingsPattern::FromString("[*.]google.com:80"), |
| 799 &origin_pattern)); |
| 800 EXPECT_EQ("http://google.com:80", origin_pattern.ToString()); |
| 801 |
| 802 EXPECT_TRUE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 803 ContentSettingsPattern::FromString("[*.]example.com:123"), |
| 804 &origin_pattern)); |
| 805 EXPECT_EQ("http://example.com:123", origin_pattern.ToString()); |
| 806 |
| 807 EXPECT_TRUE(ContentSettingsPattern::MigrateFromDomainToOrigin( |
| 808 ContentSettingsPattern::FromString("https://[*.]google.com:443"), |
| 809 &origin_pattern)); |
| 810 EXPECT_EQ("https://google.com:443", origin_pattern.ToString()); |
| 811 } |
OLD | NEW |