| Index: third_party/WebKit/Source/core/loader/LinkHeaderTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/loader/LinkHeaderTest.cpp b/third_party/WebKit/Source/core/loader/LinkHeaderTest.cpp
|
| index 2c918c19555a07c9dc4fde94a47adcf385adae41..7aba1f2b152a923b5721c9ff9832ad71506d4526 100644
|
| --- a/third_party/WebKit/Source/core/loader/LinkHeaderTest.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/LinkHeaderTest.cpp
|
| @@ -22,81 +22,81 @@ TEST(LinkHeaderTest, Empty)
|
|
|
| struct SingleTestCase {
|
| const char* headerValue;
|
| + bool valid;
|
| const char* url;
|
| const char* rel;
|
| const char* as;
|
| - bool valid;
|
| } singleTestCases[] = {
|
| - {"</images/cat.jpg>; rel=prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>;rel=prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg> ;rel=prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg> ; rel=prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"< /images/cat.jpg> ; rel=prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg > ; rel=prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg wutwut> ; rel=prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg wutwut \t > ; rel=prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>; rel=prefetch ", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>; Rel=prefetch ", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>; Rel=PReFetCh ", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>; rel=prefetch; rel=somethingelse", "/images/cat.jpg", "prefetch", "", true},
|
| - {" </images/cat.jpg>; rel=prefetch ", "/images/cat.jpg", "prefetch", "", true},
|
| - {"\t </images/cat.jpg>; rel=prefetch ", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>\t\t ; \trel=prefetch \t ", "/images/cat.jpg", "prefetch", "", true},
|
| - {"\f</images/cat.jpg>\t\t ; \trel=prefetch \t ", "", "", "", false},
|
| - {"</images/cat.jpg>; rel= prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"<../images/cat.jpg?dog>; rel= prefetch", "../images/cat.jpg?dog", "prefetch", "", true},
|
| - {"</images/cat.jpg>; rel =prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>; rel pel=prefetch", "/images/cat.jpg", "", "", false},
|
| - {"< /images/cat.jpg>", "/images/cat.jpg", "", "", true},
|
| - {"</images/cat.jpg>; rel =", "/images/cat.jpg", "", "", false},
|
| - {"</images/cat.jpg>; wut=sup; rel =prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>; wut=sup ; rel =prefetch", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>; wut=sup ; rel =prefetch \t ;", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg> wut=sup ; rel =prefetch \t ;", "/images/cat.jpg", "", "", false},
|
| - {"< /images/cat.jpg", "", "", "", false},
|
| - {"< http://wut.com/ sdfsdf ?sd>; rel=dns-prefetch", "http://wut.com/", "dns-prefetch", "", true},
|
| - {"< http://wut.com/%20%20%3dsdfsdf?sd>; rel=dns-prefetch", "http://wut.com/%20%20%3dsdfsdf?sd", "dns-prefetch", "", true},
|
| - {"< http://wut.com/dfsdf?sdf=ghj&wer=rty>; rel=prefetch", "http://wut.com/dfsdf?sdf=ghj&wer=rty", "prefetch", "", true},
|
| - {"< http://wut.com/dfsdf?sdf=ghj&wer=rty>;;;;; rel=prefetch", "http://wut.com/dfsdf?sdf=ghj&wer=rty", "prefetch", "", true},
|
| - {"< http://wut.com/%20%20%3dsdfsdf?sd>; rel=preload;as=image", "http://wut.com/%20%20%3dsdfsdf?sd", "preload", "image", true},
|
| - {"< http://wut.com/%20%20%3dsdfsdf?sd>; rel=preload;as=whatever", "http://wut.com/%20%20%3dsdfsdf?sd", "preload", "whatever", true},
|
| - {"</images/cat.jpg>; anchor=foo; rel=prefetch;", "/images/cat.jpg", "", "", false},
|
| - {"</images/cat.jpg>; rel=prefetch;anchor=foo ", "/images/cat.jpg", "prefetch", "", false},
|
| - {"</images/cat.jpg>; anchor='foo'; rel=prefetch;", "/images/cat.jpg", "", "", false},
|
| - {"</images/cat.jpg>; rel=prefetch;anchor='foo' ", "/images/cat.jpg", "prefetch", "", false},
|
| - {"</images/cat.jpg>; rel=prefetch;anchor='' ", "/images/cat.jpg", "prefetch", "", false},
|
| - {"</images/cat.jpg>; rel=prefetch;", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/cat.jpg>; rel=prefetch ;", "/images/cat.jpg", "prefetch", "", true},
|
| - {"</images/ca,t.jpg>; rel=prefetch ;", "/images/ca,t.jpg", "prefetch", "", true},
|
| - {"<simple.css>; rel=stylesheet; title=\"title with a DQUOTE and backslash\"", "simple.css", "stylesheet", "", true},
|
| - {"<simple.css>; rel=stylesheet; title=\"title with a DQUOTE \\\" and backslash: \\\"", "simple.css", "stylesheet", "", false},
|
| - {"<simple.css>; title=\"title with a DQUOTE \\\" and backslash: \"; rel=stylesheet; ", "simple.css", "stylesheet", "", true},
|
| - {"<simple.css>; title=\'title with a DQUOTE \\\' and backslash: \'; rel=stylesheet; ", "simple.css", "stylesheet", "", true},
|
| - {"<simple.css>; title=\"title with a DQUOTE \\\" and ;backslash,: \"; rel=stylesheet; ", "simple.css", "stylesheet", "", true},
|
| - {"<simple.css>; title=\"title with a DQUOTE \' and ;backslash,: \"; rel=stylesheet; ", "simple.css", "stylesheet", "", true},
|
| - {"<simple.css>; title=\"\"; rel=stylesheet; ", "simple.css", "stylesheet", "", true},
|
| - {"<simple.css>; title=\"\"; rel=\"stylesheet\"; ", "simple.css", "stylesheet", "", true},
|
| - {"<simple.css>; rel=stylesheet; title=\"", "simple.css", "stylesheet", "", false},
|
| - {"<simple.css>; rel=stylesheet; title=\"\"", "simple.css", "stylesheet", "", true},
|
| - {"<simple.css>; rel=\"stylesheet\"; title=\"", "simple.css", "stylesheet", "", false},
|
| - {"<simple.css>; rel=\";style,sheet\"; title=\"", "simple.css", ";style,sheet", "", false},
|
| - {"<simple.css>; rel=\"bla'sdf\"; title=\"", "simple.css", "bla'sdf", "", false},
|
| - {"<simple.css>; rel=\"\"; title=\"\"", "simple.css", "", "", true},
|
| - {"<simple.css>; rel=''; title=\"\"", "simple.css", "", "", true},
|
| - {"<simple.css>; rel=''; title=", "simple.css", "", "", false},
|
| - {"<simple.css>; rel=''; title", "simple.css", "", "", false},
|
| - {"<simple.css>; rel=''; media", "simple.css", "", "", false},
|
| - {"<simple.css>; rel=''; hreflang", "simple.css", "", "", false},
|
| - {"<simple.css>; rel=''; type", "simple.css", "", "", false},
|
| - {"<simple.css>; rel=''; rev", "simple.css", "", "", false},
|
| - {"<simple.css>; rel=''; bla", "simple.css", "", "", true},
|
| - {"<simple.css>; rel='prefetch", "simple.css", "", "", false},
|
| - {"<simple.css>; rel=\"prefetch", "simple.css", "", "", false},
|
| - {"<simple.css>; rel=\"", "simple.css", "", "", false},
|
| - {"<http://whatever.com>; rel=preconnect; valid!", "http://whatever.com", "preconnect", "", true},
|
| - {"<http://whatever.com>; rel=preconnect; valid$", "http://whatever.com", "preconnect", "", true},
|
| - {"<http://whatever.com>; rel=preconnect; invalid@", "http://whatever.com", "preconnect", "", false},
|
| - {"<http://whatever.com>; rel=preconnect; invalid*", "http://whatever.com", "preconnect", "", false},
|
| + {"</images/cat.jpg>; rel=prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>;rel=prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg> ;rel=prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg> ; rel=prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"< /images/cat.jpg> ; rel=prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg > ; rel=prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg wutwut> ; rel=prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg wutwut \t > ; rel=prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>; rel=prefetch ", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>; Rel=prefetch ", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>; Rel=PReFetCh ", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>; rel=prefetch; rel=somethingelse", true, "/images/cat.jpg", "prefetch", ""},
|
| + {" </images/cat.jpg>; rel=prefetch ", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"\t </images/cat.jpg>; rel=prefetch ", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>\t\t ; \trel=prefetch \t ", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"\f</images/cat.jpg>\t\t ; \trel=prefetch \t ", false},
|
| + {"</images/cat.jpg>; rel= prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"<../images/cat.jpg?dog>; rel= prefetch", true, "../images/cat.jpg?dog", "prefetch", ""},
|
| + {"</images/cat.jpg>; rel =prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>; rel pel=prefetch", false},
|
| + {"< /images/cat.jpg>", true, "/images/cat.jpg", "", ""},
|
| + {"</images/cat.jpg>; rel =", false},
|
| + {"</images/cat.jpg>; wut=sup; rel =prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>; wut=sup ; rel =prefetch", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>; wut=sup ; rel =prefetch \t ;", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg> wut=sup ; rel =prefetch \t ;", false},
|
| + {"< /images/cat.jpg", false},
|
| + {"< http://wut.com/ sdfsdf ?sd>; rel=dns-prefetch", true, "http://wut.com/", "dns-prefetch", ""},
|
| + {"< http://wut.com/%20%20%3dsdfsdf?sd>; rel=dns-prefetch", true, "http://wut.com/%20%20%3dsdfsdf?sd", "dns-prefetch", ""},
|
| + {"< http://wut.com/dfsdf?sdf=ghj&wer=rty>; rel=prefetch", true, "http://wut.com/dfsdf?sdf=ghj&wer=rty", "prefetch", ""},
|
| + {"< http://wut.com/dfsdf?sdf=ghj&wer=rty>;;;;; rel=prefetch", true, "http://wut.com/dfsdf?sdf=ghj&wer=rty", "prefetch", ""},
|
| + {"< http://wut.com/%20%20%3dsdfsdf?sd>; rel=preload;as=image", true, "http://wut.com/%20%20%3dsdfsdf?sd", "preload", "image"},
|
| + {"< http://wut.com/%20%20%3dsdfsdf?sd>; rel=preload;as=whatever", true, "http://wut.com/%20%20%3dsdfsdf?sd", "preload", "whatever"},
|
| + {"</images/cat.jpg>; anchor=foo; rel=prefetch;", false},
|
| + {"</images/cat.jpg>; rel=prefetch;anchor=foo ", false},
|
| + {"</images/cat.jpg>; anchor='foo'; rel=prefetch;", false},
|
| + {"</images/cat.jpg>; rel=prefetch;anchor='foo' ", false},
|
| + {"</images/cat.jpg>; rel=prefetch;anchor='' ", false},
|
| + {"</images/cat.jpg>; rel=prefetch;", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/cat.jpg>; rel=prefetch ;", true, "/images/cat.jpg", "prefetch", ""},
|
| + {"</images/ca,t.jpg>; rel=prefetch ;", true, "/images/ca,t.jpg", "prefetch", ""},
|
| + {"<simple.css>; rel=stylesheet; title=\"title with a DQUOTE and backslash\"", true, "simple.css", "stylesheet", ""},
|
| + {"<simple.css>; rel=stylesheet; title=\"title with a DQUOTE \\\" and backslash: \\\"", false},
|
| + {"<simple.css>; title=\"title with a DQUOTE \\\" and backslash: \"; rel=stylesheet; ", true, "simple.css", "stylesheet", ""},
|
| + {"<simple.css>; title=\'title with a DQUOTE \\\' and backslash: \'; rel=stylesheet; ", true, "simple.css", "stylesheet", ""},
|
| + {"<simple.css>; title=\"title with a DQUOTE \\\" and ;backslash,: \"; rel=stylesheet; ", true, "simple.css", "stylesheet", ""},
|
| + {"<simple.css>; title=\"title with a DQUOTE \' and ;backslash,: \"; rel=stylesheet; ", true, "simple.css", "stylesheet", ""},
|
| + {"<simple.css>; title=\"\"; rel=stylesheet; ", true, "simple.css", "stylesheet", ""},
|
| + {"<simple.css>; title=\"\"; rel=\"stylesheet\"; ", true, "simple.css", "stylesheet", ""},
|
| + {"<simple.css>; rel=stylesheet; title=\"", false},
|
| + {"<simple.css>; rel=stylesheet; title=\"\"", true, "simple.css", "stylesheet", ""},
|
| + {"<simple.css>; rel=\"stylesheet\"; title=\"", false},
|
| + {"<simple.css>; rel=\";style,sheet\"; title=\"", false},
|
| + {"<simple.css>; rel=\"bla'sdf\"; title=\"", false},
|
| + {"<simple.css>; rel=\"\"; title=\"\"", true, "simple.css", "", ""},
|
| + {"<simple.css>; rel=''; title=\"\"", true, "simple.css", "", ""},
|
| + {"<simple.css>; rel=''; title=", false},
|
| + {"<simple.css>; rel=''; title", false},
|
| + {"<simple.css>; rel=''; media", false},
|
| + {"<simple.css>; rel=''; hreflang", false},
|
| + {"<simple.css>; rel=''; type", false},
|
| + {"<simple.css>; rel=''; rev", false},
|
| + {"<simple.css>; rel=''; bla", true, "simple.css", "", ""},
|
| + {"<simple.css>; rel='prefetch", false},
|
| + {"<simple.css>; rel=\"prefetch", false},
|
| + {"<simple.css>; rel=\"", false},
|
| + {"<http://whatever.com>; rel=preconnect; valid!", true, "http://whatever.com", "preconnect", ""},
|
| + {"<http://whatever.com>; rel=preconnect; valid$", true, "http://whatever.com", "preconnect", ""},
|
| + {"<http://whatever.com>; rel=preconnect; invalid@", false},
|
| + {"<http://whatever.com>; rel=preconnect; invalid*", false},
|
| };
|
|
|
| void PrintTo(const SingleTestCase& test, std::ostream* os)
|
| @@ -113,9 +113,12 @@ TEST_P(SingleLinkHeaderTest, Single)
|
| LinkHeaderSet headerSet(testCase.headerValue);
|
| ASSERT_EQ(1u, headerSet.size());
|
| LinkHeader& header = headerSet[0];
|
| - EXPECT_STREQ(testCase.url, header.url().ascii().data());
|
| - EXPECT_STREQ(testCase.rel, header.rel().ascii().data());
|
| EXPECT_EQ(testCase.valid, header.valid());
|
| + if (testCase.valid) {
|
| + EXPECT_STREQ(testCase.url, header.url().ascii().data());
|
| + EXPECT_STREQ(testCase.rel, header.rel().ascii().data());
|
| + EXPECT_STREQ(testCase.as, header.as().ascii().data());
|
| + }
|
| }
|
|
|
| INSTANTIATE_TEST_CASE_P(LinkHeaderTest, SingleLinkHeaderTest, testing::ValuesIn(singleTestCases));
|
|
|