| Index: Source/core/loader/LinkHeaderTest.cpp
|
| diff --git a/Source/core/loader/LinkHeaderTest.cpp b/Source/core/loader/LinkHeaderTest.cpp
|
| index b8b92c8d5fe71a0c62464c6c5c978393c7a75122..c10aa9efa38d4af9076fc388a7176b61f5dd69fa 100644
|
| --- a/Source/core/loader/LinkHeaderTest.cpp
|
| +++ b/Source/core/loader/LinkHeaderTest.cpp
|
| @@ -10,7 +10,17 @@
|
|
|
| namespace blink {
|
|
|
| -TEST(LinkHeaderTest, Basic)
|
| +TEST(LinkHeaderTest, Empty)
|
| +{
|
| + String nullString;
|
| + LinkHeaderSet nullHeaderSet(nullString);
|
| + ASSERT_EQ(nullHeaderSet.size(), unsigned(0));
|
| + String emptyString("");
|
| + LinkHeaderSet emptyHeaderSet(emptyString);
|
| + ASSERT_EQ(emptyHeaderSet.size(), unsigned(0));
|
| +}
|
| +
|
| +TEST(LinkHeaderTest, Single)
|
| {
|
| struct TestCase {
|
| const char* headerValue;
|
| @@ -18,8 +28,6 @@ TEST(LinkHeaderTest, Basic)
|
| const char* rel;
|
| bool valid;
|
| } cases[] = {
|
| - {0, "", "", false},
|
| - {"", "", "", false},
|
| {"</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},
|
| @@ -47,18 +55,48 @@ TEST(LinkHeaderTest, Basic)
|
| {"< 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", "", 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},
|
| };
|
|
|
| +
|
| + // Test the cases with a single header
|
| for (size_t i = 0; i < arraysize(cases); ++i) {
|
| - const char* headerValue = cases[i].headerValue;
|
| - const char* url = cases[i].url;
|
| - const char* rel = cases[i].rel;
|
| - bool valid = cases[i].valid;
|
| + TestCase& testCase = cases[i];
|
| + 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.valid, header.valid());
|
| + }
|
| +}
|
| +
|
| +TEST(LinkHeaderTest, Double)
|
| +{
|
| + struct DoubleTestCase {
|
| + const char* headerValue;
|
| + const char* url;
|
| + const char* rel;
|
| + bool valid;
|
| + const char* url2;
|
| + const char* rel2;
|
| + bool valid2;
|
| + } doubleCases[] = {
|
| + {"<ybg.css>; rel=stylesheet, <simple.css>; rel=stylesheet", "ybg.css", "stylesheet", true, "simple.css", "stylesheet", true},
|
| + };
|
|
|
| - LinkHeader header(headerValue);
|
| - ASSERT_EQ(valid, header.valid());
|
| - ASSERT_STREQ(url, header.url().ascii().data());
|
| - ASSERT_STREQ(rel, header.rel().ascii().data());
|
| + for (size_t i = 0; i < arraysize(doubleCases); ++i) {
|
| + DoubleTestCase& testCase = doubleCases[i];
|
| + LinkHeaderSet headerSet(testCase.headerValue);
|
| + LinkHeader& header1 = headerSet[0];
|
| + LinkHeader& header2 = headerSet[1];
|
| + ASSERT_STREQ(testCase.url, header1.url().ascii().data());
|
| + ASSERT_STREQ(testCase.rel, header1.rel().ascii().data());
|
| + ASSERT_EQ(testCase.valid, header1.valid());
|
| + ASSERT_STREQ(testCase.url2, header2.url().ascii().data());
|
| + ASSERT_STREQ(testCase.rel2, header2.rel().ascii().data());
|
| + ASSERT_EQ(testCase.valid2, header2.valid());
|
| }
|
| }
|
|
|
|
|