OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 EXPECT_EQ(OriginAccessEntry::DoesNotMatchOrigin, entry2.matchesOrigin(*origi
n)); | 84 EXPECT_EQ(OriginAccessEntry::DoesNotMatchOrigin, entry2.matchesOrigin(*origi
n)); |
85 EXPECT_EQ(OriginAccessEntry::MatchesOriginButIsPublicSuffix, entry3.matchesO
rigin(*origin)); | 85 EXPECT_EQ(OriginAccessEntry::MatchesOriginButIsPublicSuffix, entry3.matchesO
rigin(*origin)); |
86 } | 86 } |
87 | 87 |
88 TEST(OriginAccessEntryTest, AllowSubdomainsTest) | 88 TEST(OriginAccessEntryTest, AllowSubdomainsTest) |
89 { | 89 { |
90 struct TestCase { | 90 struct TestCase { |
91 const char* protocol; | 91 const char* protocol; |
92 const char* host; | 92 const char* host; |
93 const char* origin; | 93 const char* origin; |
94 OriginAccessEntry::MatchResult expected; | 94 OriginAccessEntry::MatchResult expectedOrigin; |
| 95 OriginAccessEntry::MatchResult expectedDomain; |
95 } inputs[] = { | 96 } inputs[] = { |
96 { "http", "example.com", "http://example.com/", OriginAccessEntry::Match
esOrigin }, | 97 { "http", "example.com", "http://example.com/", OriginAccessEntry::Match
esOrigin, OriginAccessEntry::MatchesOrigin }, |
97 { "http", "example.com", "http://www.example.com/", OriginAccessEntry::M
atchesOrigin }, | 98 { "http", "example.com", "http://www.example.com/", OriginAccessEntry::M
atchesOrigin, OriginAccessEntry::MatchesOrigin }, |
98 { "http", "example.com", "http://www.www.example.com/", OriginAccessEntr
y::MatchesOrigin }, | 99 { "http", "example.com", "http://www.www.example.com/", OriginAccessEntr
y::MatchesOrigin, OriginAccessEntry::MatchesOrigin }, |
99 { "http", "www.example.com", "http://example.com/", OriginAccessEntry::D
oesNotMatchOrigin }, | 100 { "http", "www.example.com", "http://example.com/", OriginAccessEntry::D
oesNotMatchOrigin, OriginAccessEntry::DoesNotMatchOrigin }, |
100 { "http", "www.example.com", "http://www.example.com/", OriginAccessEntr
y::MatchesOrigin }, | 101 { "http", "www.example.com", "http://www.example.com/", OriginAccessEntr
y::MatchesOrigin, OriginAccessEntry::MatchesOrigin }, |
101 { "http", "www.example.com", "http://www.www.example.com/", OriginAccess
Entry::MatchesOrigin }, | 102 { "http", "www.example.com", "http://www.www.example.com/", OriginAccess
Entry::MatchesOrigin, OriginAccessEntry::MatchesOrigin }, |
102 { "http", "com", "http://example.com/", OriginAccessEntry::MatchesOrigin
ButIsPublicSuffix }, | 103 { "http", "com", "http://example.com/", OriginAccessEntry::MatchesOrigin
ButIsPublicSuffix, OriginAccessEntry::MatchesOriginButIsPublicSuffix }, |
103 { "http", "com", "http://www.example.com/", OriginAccessEntry::MatchesOr
iginButIsPublicSuffix }, | 104 { "http", "com", "http://www.example.com/", OriginAccessEntry::MatchesOr
iginButIsPublicSuffix, OriginAccessEntry::MatchesOriginButIsPublicSuffix }, |
104 { "http", "com", "http://www.www.example.com/", OriginAccessEntry::Match
esOriginButIsPublicSuffix }, | 105 { "http", "com", "http://www.www.example.com/", OriginAccessEntry::Match
esOriginButIsPublicSuffix, OriginAccessEntry::MatchesOriginButIsPublicSuffix }, |
105 { "https", "example.com", "http://example.com/", OriginAccessEntry::Does
NotMatchOrigin }, | 106 { "https", "example.com", "http://example.com/", OriginAccessEntry::Does
NotMatchOrigin, OriginAccessEntry::MatchesOrigin }, |
106 { "https", "example.com", "http://www.example.com/", OriginAccessEntry::
DoesNotMatchOrigin }, | 107 { "https", "example.com", "http://www.example.com/", OriginAccessEntry::
DoesNotMatchOrigin, OriginAccessEntry::MatchesOrigin }, |
107 { "https", "example.com", "http://www.www.example.com/", OriginAccessEnt
ry::DoesNotMatchOrigin }, | 108 { "https", "example.com", "http://www.www.example.com/", OriginAccessEnt
ry::DoesNotMatchOrigin, OriginAccessEntry::MatchesOrigin }, |
108 { "http", "example.com", "http://beispiel.de/", OriginAccessEntry::DoesN
otMatchOrigin }, | 109 { "http", "example.com", "http://beispiel.de/", OriginAccessEntry::DoesN
otMatchOrigin, OriginAccessEntry::DoesNotMatchOrigin }, |
109 { "http", "", "http://example.com/", OriginAccessEntry::MatchesOrigin }, | 110 { "http", "example.com", "https://beispiel.de/", OriginAccessEntry::Does
NotMatchOrigin, OriginAccessEntry::DoesNotMatchOrigin }, |
110 { "http", "", "http://beispiel.de/", OriginAccessEntry::MatchesOrigin }, | 111 { "http", "", "http://example.com/", OriginAccessEntry::MatchesOrigin, O
riginAccessEntry::MatchesOrigin }, |
111 { "https", "", "http://beispiel.de/", OriginAccessEntry::DoesNotMatchOri
gin }, | 112 { "http", "", "http://beispiel.de/", OriginAccessEntry::MatchesOrigin, O
riginAccessEntry::MatchesOrigin }, |
| 113 { "https", "", "http://beispiel.de/", OriginAccessEntry::DoesNotMatchOri
gin, OriginAccessEntry::MatchesOrigin }, |
112 }; | 114 }; |
113 | 115 |
114 OriginAccessEntryTestPlatform platform; | 116 OriginAccessEntryTestPlatform platform; |
115 platform.setPublicSuffix("com"); | 117 platform.setPublicSuffix("com"); |
116 | 118 |
117 for (const auto& test : inputs) { | 119 for (const auto& test : inputs) { |
118 SCOPED_TRACE(testing::Message() << "Host: " << test.host << ", Origin: "
<< test.origin); | 120 SCOPED_TRACE(testing::Message() << "Host: " << test.host << ", Origin: "
<< test.origin); |
119 RefPtr<SecurityOrigin> originToTest = SecurityOrigin::createFromString(t
est.origin); | 121 RefPtr<SecurityOrigin> originToTest = SecurityOrigin::createFromString(t
est.origin); |
120 OriginAccessEntry entry1(test.protocol, test.host, OriginAccessEntry::Al
lowSubdomains); | 122 OriginAccessEntry entry1(test.protocol, test.host, OriginAccessEntry::Al
lowSubdomains); |
121 EXPECT_EQ(test.expected, entry1.matchesOrigin(*originToTest)); | 123 EXPECT_EQ(test.expectedOrigin, entry1.matchesOrigin(*originToTest)); |
| 124 EXPECT_EQ(test.expectedDomain, entry1.matchesDomain(*originToTest)); |
122 } | 125 } |
123 } | 126 } |
124 | 127 |
125 TEST(OriginAccessEntryTest, AllowRegisterableDomainsTest) | 128 TEST(OriginAccessEntryTest, AllowRegisterableDomainsTest) |
126 { | 129 { |
127 struct TestCase { | 130 struct TestCase { |
128 const char* protocol; | 131 const char* protocol; |
129 const char* host; | 132 const char* host; |
130 const char* origin; | 133 const char* origin; |
131 OriginAccessEntry::MatchResult expected; | 134 OriginAccessEntry::MatchResult expected; |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 RefPtr<SecurityOrigin> originToTest = SecurityOrigin::createFromString(t
est.origin); | 285 RefPtr<SecurityOrigin> originToTest = SecurityOrigin::createFromString(t
est.origin); |
283 OriginAccessEntry entry1(test.protocol, test.host, OriginAccessEntry::Al
lowSubdomains); | 286 OriginAccessEntry entry1(test.protocol, test.host, OriginAccessEntry::Al
lowSubdomains); |
284 EXPECT_EQ(test.expected, entry1.matchesOrigin(*originToTest)); | 287 EXPECT_EQ(test.expected, entry1.matchesOrigin(*originToTest)); |
285 | 288 |
286 OriginAccessEntry entry2(test.protocol, test.host, OriginAccessEntry::Di
sallowSubdomains); | 289 OriginAccessEntry entry2(test.protocol, test.host, OriginAccessEntry::Di
sallowSubdomains); |
287 EXPECT_EQ(test.expected, entry2.matchesOrigin(*originToTest)); | 290 EXPECT_EQ(test.expected, entry2.matchesOrigin(*originToTest)); |
288 } | 291 } |
289 } | 292 } |
290 | 293 |
291 } // namespace blink | 294 } // namespace blink |
OLD | NEW |