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

Side by Side Diff: third_party/WebKit/Source/platform/network/LinkHeaderTest.cpp

Issue 2424943002: Add ReferrerPolicy support to preload (Closed)
Patch Set: Fix test. Again Created 4 years, 1 month 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/network/LinkHeader.h" 5 #include "platform/network/LinkHeader.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 #include <base/macros.h> 8 #include <base/macros.h>
9 9
10 namespace blink { 10 namespace blink {
11 namespace { 11 namespace {
12 12
13 TEST(LinkHeaderTest, Empty) { 13 TEST(LinkHeaderTest, Empty) {
14 String nullString; 14 String nullString;
15 LinkHeaderSet nullHeaderSet(nullString); 15 LinkHeaderSet nullHeaderSet(nullString);
16 ASSERT_EQ(nullHeaderSet.size(), unsigned(0)); 16 ASSERT_EQ(nullHeaderSet.size(), unsigned(0));
17 String emptyString(""); 17 String emptyString("");
18 LinkHeaderSet emptyHeaderSet(emptyString); 18 LinkHeaderSet emptyHeaderSet(emptyString);
19 ASSERT_EQ(emptyHeaderSet.size(), unsigned(0)); 19 ASSERT_EQ(emptyHeaderSet.size(), unsigned(0));
20 } 20 }
21 21
22 struct SingleTestCase { 22 struct SingleTestCase {
23 const char* headerValue; 23 const char* headerValue;
24 bool valid; 24 bool valid;
25 const char* url; 25 const char* url;
26 const char* rel; 26 const char* rel;
27 const char* as; 27 const char* as;
28 const char* media; 28 const char* media;
29 const char* referrerPolicy;
29 } singleTestCases[] = { 30 } singleTestCases[] = {
30 {"</images/cat.jpg>; rel=prefetch", true, "/images/cat.jpg", "prefetch", "", 31 {"</images/cat.jpg>; rel=prefetch", true, "/images/cat.jpg", "prefetch", "",
31 ""}, 32 ""},
32 {"</images/cat.jpg>;rel=prefetch", true, "/images/cat.jpg", "prefetch", "", 33 {"</images/cat.jpg>;rel=prefetch", true, "/images/cat.jpg", "prefetch", "",
33 ""}, 34 ""},
34 {"</images/cat.jpg> ;rel=prefetch", true, "/images/cat.jpg", "prefetch", 35 {"</images/cat.jpg> ;rel=prefetch", true, "/images/cat.jpg", "prefetch",
35 "", ""}, 36 "", ""},
36 {"</images/cat.jpg> ; rel=prefetch", true, "/images/cat.jpg", 37 {"</images/cat.jpg> ; rel=prefetch", true, "/images/cat.jpg",
37 "prefetch", "", ""}, 38 "prefetch", "", ""},
38 {"< /images/cat.jpg> ; rel=prefetch", true, "/images/cat.jpg", 39 {"< /images/cat.jpg> ; rel=prefetch", true, "/images/cat.jpg",
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 {"<http://whatever.com>; rel=preconnect; valid$", true, 144 {"<http://whatever.com>; rel=preconnect; valid$", true,
144 "http://whatever.com", "preconnect", "", ""}, 145 "http://whatever.com", "preconnect", "", ""},
145 {"<http://whatever.com>; rel=preconnect; invalid@", false}, 146 {"<http://whatever.com>; rel=preconnect; invalid@", false},
146 {"<http://whatever.com>; rel=preconnect; invalid*", false}, 147 {"<http://whatever.com>; rel=preconnect; invalid*", false},
147 {"</images/cat.jpg>; rel=prefetch;media='(max-width: 5000px)'", true, 148 {"</images/cat.jpg>; rel=prefetch;media='(max-width: 5000px)'", true,
148 "/images/cat.jpg", "prefetch", "", "'(max-width: 5000px)'"}, 149 "/images/cat.jpg", "prefetch", "", "'(max-width: 5000px)'"},
149 {"</images/cat.jpg>; rel=prefetch;media=\"(max-width: 5000px)\"", true, 150 {"</images/cat.jpg>; rel=prefetch;media=\"(max-width: 5000px)\"", true,
150 "/images/cat.jpg", "prefetch", "", "(max-width: 5000px)"}, 151 "/images/cat.jpg", "prefetch", "", "(max-width: 5000px)"},
151 {"</images/cat.jpg>; rel=prefetch;media=(max-width:5000px)", true, 152 {"</images/cat.jpg>; rel=prefetch;media=(max-width:5000px)", true,
152 "/images/cat.jpg", "prefetch", "", "(max-width:5000px)"}, 153 "/images/cat.jpg", "prefetch", "", "(max-width:5000px)"},
154 {"</images/cat.jpg>; rel=preload;referrerpolicy=somevalue", true,
Mike West 2016/10/23 05:25:46 I guess this is a reasonable addition, but it need
Yoav Weiss 2016/10/23 13:27:09 I considered it as a "link-extension" defined in h
155 "/images/cat.jpg", "preload", "", "", "somevalue"},
Mike West 2016/10/23 05:25:46 I don't understand how this test works. You've add
Yoav Weiss 2016/10/23 13:27:09 my bad. Forgot to add an actual check for the valu
153 }; 156 };
154 157
155 void PrintTo(const SingleTestCase& test, std::ostream* os) { 158 void PrintTo(const SingleTestCase& test, std::ostream* os) {
156 *os << ::testing::PrintToString(test.headerValue); 159 *os << ::testing::PrintToString(test.headerValue);
157 } 160 }
158 161
159 class SingleLinkHeaderTest : public ::testing::TestWithParam<SingleTestCase> {}; 162 class SingleLinkHeaderTest : public ::testing::TestWithParam<SingleTestCase> {};
160 163
161 // Test the cases with a single header 164 // Test the cases with a single header
162 TEST_P(SingleLinkHeaderTest, Single) { 165 TEST_P(SingleLinkHeaderTest, Single) {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 else 281 else
279 EXPECT_STREQ(testCase.crossorigin, header.crossOrigin().ascii().data()); 282 EXPECT_STREQ(testCase.crossorigin, header.crossOrigin().ascii().data());
280 } 283 }
281 284
282 INSTANTIATE_TEST_CASE_P(LinkHeaderTest, 285 INSTANTIATE_TEST_CASE_P(LinkHeaderTest,
283 CrossOriginLinkHeaderTest, 286 CrossOriginLinkHeaderTest,
284 testing::ValuesIn(crossOriginTestCases)); 287 testing::ValuesIn(crossOriginTestCases));
285 288
286 } // namespace 289 } // namespace
287 } // namespace blink 290 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698