Index: Source/core/loader/LinkHeaderTest.cpp |
diff --git a/Source/core/loader/LinkHeaderTest.cpp b/Source/core/loader/LinkHeaderTest.cpp |
index 6c1850d47ebe722bf0930260ddddeb3e586688a4..33be6d1bc60a793b5fd758589f2764b747c077a0 100644 |
--- a/Source/core/loader/LinkHeaderTest.cpp |
+++ b/Source/core/loader/LinkHeaderTest.cpp |
@@ -88,8 +88,7 @@ TEST(LinkHeaderTest, Single) |
// Test the cases with a single header |
- for (size_t i = 0; i < arraysize(cases); ++i) { |
- TestCase& testCase = cases[i]; |
+ for (auto& testCase : cases) { |
LinkHeaderSet headerSet(testCase.headerValue); |
LinkHeader& header = headerSet[0]; |
ASSERT_STREQ(testCase.url, header.url().ascii().data()); |
@@ -108,12 +107,11 @@ TEST(LinkHeaderTest, Double) |
const char* url2; |
const char* rel2; |
bool valid2; |
- } doubleCases[] = { |
+ } cases[] = { |
{"<ybg.css>; rel=stylesheet, <simple.css>; rel=stylesheet", "ybg.css", "stylesheet", true, "simple.css", "stylesheet", true}, |
}; |
- for (size_t i = 0; i < arraysize(doubleCases); ++i) { |
- DoubleTestCase& testCase = doubleCases[i]; |
+ for (auto& testCase : cases) { |
LinkHeaderSet headerSet(testCase.headerValue); |
LinkHeader& header1 = headerSet[0]; |
LinkHeader& header2 = headerSet[1]; |
@@ -126,4 +124,32 @@ TEST(LinkHeaderTest, Double) |
} |
} |
+TEST(LinkHeaderTest, CrossOrigin) |
+{ |
+ struct TestCase { |
+ const char* headerValue; |
+ const char* url; |
+ const char* rel; |
+ const CrossOriginAttributeValue crossorigin; |
+ bool valid; |
+ } cases[] = { |
+ {"<http://whatever.com>; rel=preconnect", "http://whatever.com", "preconnect", CrossOriginAttributeNotSet, true}, |
+ {"<http://whatever.com>; rel=preconnect; crossorigin=", "http://whatever.com", "preconnect", CrossOriginAttributeAnonymous, true}, |
+ {"<http://whatever.com>; rel=preconnect; crossorigin", "http://whatever.com", "preconnect", CrossOriginAttributeAnonymous, true}, |
+ {"<http://whatever.com>; rel=preconnect; crossorigin=anonymous", "http://whatever.com", "preconnect", CrossOriginAttributeAnonymous, true}, |
+ {"<http://whatever.com>; rel=preconnect; crossorigin=use-credentials", "http://whatever.com", "preconnect", CrossOriginAttributeUseCredentials, true}, |
+ {"<http://whatever.com>; rel=preconnect; crossorigin=whatever", "http://whatever.com", "preconnect", CrossOriginAttributeAnonymous, true}, |
+ }; |
+ |
+ |
+ // Test the cases with a single header |
+ for (auto& testCase : cases) { |
+ LinkHeaderSet headerSet(testCase.headerValue); |
+ LinkHeader& header = headerSet[0]; |
+ ASSERT_STREQ(testCase.url, header.url().ascii().data()); |
+ ASSERT_STREQ(testCase.rel, header.rel().ascii().data()); |
+ ASSERT_EQ(testCase.crossorigin, header.crossOrigin()); |
+ ASSERT_EQ(testCase.valid, header.valid()); |
+ } |
+} |
} // namespace blink |