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 7aba1f2b152a923b5721c9ff9832ad71506d4526..9eabb394d4d7cb8742dbc871c64ccc3a539f1008 100644 |
--- a/third_party/WebKit/Source/core/loader/LinkHeaderTest.cpp |
+++ b/third_party/WebKit/Source/core/loader/LinkHeaderTest.cpp |
@@ -26,77 +26,81 @@ struct SingleTestCase { |
const char* url; |
const char* rel; |
const char* as; |
+ const char* media; |
} singleTestCases[] = { |
- {"</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", ""}, |
+ {"</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= 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>", 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", 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"}, |
+ {"< 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", ""}, |
+ {"</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>; 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=\"\"", 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=\"\"", 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=''; 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; 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}, |
+ {"</images/cat.jpg>; rel=prefetch;media='(max-width: 5000px)'", true, "/images/cat.jpg", "prefetch", "", "(max-width: 5000px)"}, |
+ {"</images/cat.jpg>; rel=prefetch;media=\"(max-width: 5000px)\"", true, "/images/cat.jpg", "prefetch", "", "(max-width: 5000px)"}, |
+ {"</images/cat.jpg>; rel=prefetch;media=(max-width:5000px)", true, "/images/cat.jpg", "prefetch", "", "(max-width:5000px)"}, |
}; |
void PrintTo(const SingleTestCase& test, std::ostream* os) |
@@ -118,6 +122,7 @@ TEST_P(SingleLinkHeaderTest, Single) |
EXPECT_STREQ(testCase.url, header.url().ascii().data()); |
EXPECT_STREQ(testCase.rel, header.rel().ascii().data()); |
EXPECT_STREQ(testCase.as, header.as().ascii().data()); |
+ EXPECT_STREQ(testCase.media, header.media().ascii().data()); |
} |
} |