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

Side by Side Diff: third_party/WebKit/Source/platform/weborigin/OriginAccessEntryTest.cpp

Issue 1661573002: Add 'OriginAccessEntry::matchDomain'. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2564
Patch Set: Created 4 years, 10 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
OLDNEW
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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 93
94 Platform::shutdown(); 94 Platform::shutdown();
95 } 95 }
96 96
97 TEST(OriginAccessEntryTest, AllowSubdomainsTest) 97 TEST(OriginAccessEntryTest, AllowSubdomainsTest)
98 { 98 {
99 struct TestCase { 99 struct TestCase {
100 const char* protocol; 100 const char* protocol;
101 const char* host; 101 const char* host;
102 const char* origin; 102 const char* origin;
103 OriginAccessEntry::MatchResult expected; 103 OriginAccessEntry::MatchResult expectedOrigin;
104 OriginAccessEntry::MatchResult expectedDomain;
104 } inputs[] = { 105 } inputs[] = {
105 { "http", "example.com", "http://example.com/", OriginAccessEntry::Match esOrigin }, 106 { "http", "example.com", "http://example.com/", OriginAccessEntry::Match esOrigin, OriginAccessEntry::MatchesOrigin },
106 { "http", "example.com", "http://www.example.com/", OriginAccessEntry::M atchesOrigin }, 107 { "http", "example.com", "http://www.example.com/", OriginAccessEntry::M atchesOrigin, OriginAccessEntry::MatchesOrigin },
107 { "http", "example.com", "http://www.www.example.com/", OriginAccessEntr y::MatchesOrigin }, 108 { "http", "example.com", "http://www.www.example.com/", OriginAccessEntr y::MatchesOrigin, OriginAccessEntry::MatchesOrigin },
108 { "http", "www.example.com", "http://example.com/", OriginAccessEntry::D oesNotMatchOrigin }, 109 { "http", "www.example.com", "http://example.com/", OriginAccessEntry::D oesNotMatchOrigin, OriginAccessEntry::DoesNotMatchOrigin },
109 { "http", "www.example.com", "http://www.example.com/", OriginAccessEntr y::MatchesOrigin }, 110 { "http", "www.example.com", "http://www.example.com/", OriginAccessEntr y::MatchesOrigin, OriginAccessEntry::MatchesOrigin },
110 { "http", "www.example.com", "http://www.www.example.com/", OriginAccess Entry::MatchesOrigin }, 111 { "http", "www.example.com", "http://www.www.example.com/", OriginAccess Entry::MatchesOrigin, OriginAccessEntry::MatchesOrigin },
111 { "http", "com", "http://example.com/", OriginAccessEntry::MatchesOrigin ButIsPublicSuffix }, 112 { "http", "com", "http://example.com/", OriginAccessEntry::MatchesOrigin ButIsPublicSuffix, OriginAccessEntry::MatchesOriginButIsPublicSuffix },
112 { "http", "com", "http://www.example.com/", OriginAccessEntry::MatchesOr iginButIsPublicSuffix }, 113 { "http", "com", "http://www.example.com/", OriginAccessEntry::MatchesOr iginButIsPublicSuffix, OriginAccessEntry::MatchesOriginButIsPublicSuffix },
113 { "http", "com", "http://www.www.example.com/", OriginAccessEntry::Match esOriginButIsPublicSuffix }, 114 { "http", "com", "http://www.www.example.com/", OriginAccessEntry::Match esOriginButIsPublicSuffix, OriginAccessEntry::MatchesOriginButIsPublicSuffix },
114 { "https", "example.com", "http://example.com/", OriginAccessEntry::Does NotMatchOrigin }, 115 { "https", "example.com", "http://example.com/", OriginAccessEntry::Does NotMatchOrigin, OriginAccessEntry::MatchesOrigin },
115 { "https", "example.com", "http://www.example.com/", OriginAccessEntry:: DoesNotMatchOrigin }, 116 { "https", "example.com", "http://www.example.com/", OriginAccessEntry:: DoesNotMatchOrigin, OriginAccessEntry::MatchesOrigin },
116 { "https", "example.com", "http://www.www.example.com/", OriginAccessEnt ry::DoesNotMatchOrigin }, 117 { "https", "example.com", "http://www.www.example.com/", OriginAccessEnt ry::DoesNotMatchOrigin, OriginAccessEntry::MatchesOrigin },
117 { "http", "example.com", "http://beispiel.de/", OriginAccessEntry::DoesN otMatchOrigin }, 118 { "http", "example.com", "http://beispiel.de/", OriginAccessEntry::DoesN otMatchOrigin, OriginAccessEntry::DoesNotMatchOrigin },
118 { "http", "", "http://example.com/", OriginAccessEntry::MatchesOrigin }, 119 { "http", "example.com", "https://beispiel.de/", OriginAccessEntry::Does NotMatchOrigin, OriginAccessEntry::DoesNotMatchOrigin },
119 { "http", "", "http://beispiel.de/", OriginAccessEntry::MatchesOrigin }, 120 { "http", "", "http://example.com/", OriginAccessEntry::MatchesOrigin, O riginAccessEntry::MatchesOrigin },
120 { "https", "", "http://beispiel.de/", OriginAccessEntry::DoesNotMatchOri gin }, 121 { "http", "", "http://beispiel.de/", OriginAccessEntry::MatchesOrigin, O riginAccessEntry::MatchesOrigin },
122 { "https", "", "http://beispiel.de/", OriginAccessEntry::DoesNotMatchOri gin, OriginAccessEntry::MatchesOrigin },
121 }; 123 };
122 124
123 OriginAccessEntryTestPlatform platform; 125 OriginAccessEntryTestPlatform platform;
124 platform.setPublicSuffix("com"); 126 platform.setPublicSuffix("com");
125 Platform::initialize(&platform); 127 Platform::initialize(&platform);
126 128
127 for (const auto& test : inputs) { 129 for (const auto& test : inputs) {
128 SCOPED_TRACE(testing::Message() << "Host: " << test.host << ", Origin: " << test.origin); 130 SCOPED_TRACE(testing::Message() << "Host: " << test.host << ", Origin: " << test.origin);
129 RefPtr<SecurityOrigin> originToTest = SecurityOrigin::createFromString(t est.origin); 131 RefPtr<SecurityOrigin> originToTest = SecurityOrigin::createFromString(t est.origin);
130 OriginAccessEntry entry1(test.protocol, test.host, OriginAccessEntry::Al lowSubdomains); 132 OriginAccessEntry entry1(test.protocol, test.host, OriginAccessEntry::Al lowSubdomains);
131 EXPECT_EQ(test.expected, entry1.matchesOrigin(*originToTest)); 133 EXPECT_EQ(test.expectedOrigin, entry1.matchesOrigin(*originToTest));
134 EXPECT_EQ(test.expectedDomain, entry1.matchesDomain(*originToTest));
132 } 135 }
133 136
134 Platform::shutdown(); 137 Platform::shutdown();
135 } 138 }
136 139
137 TEST(OriginAccessEntryTest, AllowRegisterableDomainsTest) 140 TEST(OriginAccessEntryTest, AllowRegisterableDomainsTest)
138 { 141 {
139 struct TestCase { 142 struct TestCase {
140 const char* protocol; 143 const char* protocol;
141 const char* host; 144 const char* host;
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 313
311 OriginAccessEntry entry2(test.protocol, test.host, OriginAccessEntry::Di sallowSubdomains); 314 OriginAccessEntry entry2(test.protocol, test.host, OriginAccessEntry::Di sallowSubdomains);
312 EXPECT_EQ(test.expected, entry2.matchesOrigin(*originToTest)); 315 EXPECT_EQ(test.expected, entry2.matchesOrigin(*originToTest));
313 } 316 }
314 317
315 Platform::shutdown(); 318 Platform::shutdown();
316 } 319 }
317 320
318 } // namespace blink 321 } // namespace blink
319 322
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698