OLD | NEW |
---|---|
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 "core/loader/LinkLoader.h" | 5 #include "core/loader/LinkLoader.h" |
6 | 6 |
7 #include "core/fetch/MemoryCache.h" | 7 #include "core/fetch/MemoryCache.h" |
8 #include "core/fetch/ResourceFetcher.h" | 8 #include "core/fetch/ResourceFetcher.h" |
9 #include "core/frame/Settings.h" | 9 #include "core/frame/Settings.h" |
10 #include "core/html/LinkRelAttribute.h" | 10 #include "core/html/LinkRelAttribute.h" |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
143 KURL hrefURL = KURL(KURL(), testCase.href); | 143 KURL hrefURL = KURL(KURL(), testCase.href); |
144 URLTestHelpers::registerMockedErrorURLLoad(hrefURL); | 144 URLTestHelpers::registerMockedErrorURLLoad(hrefURL); |
145 loader->loadLink(LinkRelAttribute("preload"), | 145 loader->loadLink(LinkRelAttribute("preload"), |
146 CrossOriginAttributeNotSet, | 146 CrossOriginAttributeNotSet, |
147 testCase.type, | 147 testCase.type, |
148 testCase.as, | 148 testCase.as, |
149 testCase.media, | 149 testCase.media, |
150 hrefURL, | 150 hrefURL, |
151 dummyPageHolder->document(), | 151 dummyPageHolder->document(), |
152 NetworkHintsMock()); | 152 NetworkHintsMock()); |
153 ASSERT(dummyPageHolder->document().fetcher()); | 153 ASSERT_TRUE(dummyPageHolder->document().fetcher()); |
154 HeapListHashSet<Member<Resource>>* preloads = dummyPageHolder->document( ).fetcher()->preloads(); | 154 HeapListHashSet<Member<Resource>>* preloads = dummyPageHolder->document( ).fetcher()->preloads(); |
155 if (testCase.expectingLoad) { | 155 if (testCase.expectingLoad) { |
156 if (!preloads) | 156 if (!preloads) |
157 fprintf(stderr, "Unexpected result %s %s %s\n", testCase.href, t estCase.as, testCase.type); | 157 fprintf(stderr, "Unexpected result %s %s %s\n", testCase.href, t estCase.as, testCase.type); |
158 ASSERT_NE(nullptr, preloads); | 158 EXPECT_NE(nullptr, preloads); |
yhirano
2016/09/09 07:34:48
[optional] EXPECT_TRUE for consistency?
hiroshige
2016/09/09 08:11:36
Done.
| |
159 } else { | 159 } else { |
160 ASSERT_EQ(nullptr, preloads); | 160 EXPECT_EQ(nullptr, preloads); |
yhirano
2016/09/09 07:34:48
[optional] ditto
hiroshige
2016/09/09 08:11:36
Done.
| |
161 } | 161 } |
162 if (preloads) { | 162 if (preloads) { |
163 if (testCase.priority == ResourceLoadPriorityUnresolved) { | 163 if (testCase.priority == ResourceLoadPriorityUnresolved) { |
164 ASSERT_EQ((unsigned)0, preloads->size()); | 164 EXPECT_EQ(0u, preloads->size()); |
165 } else { | 165 } else { |
166 ASSERT_EQ((unsigned)1, preloads->size()); | 166 EXPECT_EQ(1u, preloads->size()); |
167 if (preloads->size() > 0) { | 167 if (preloads->size() > 0) { |
168 Resource* resource = preloads->begin().get()->get(); | 168 Resource* resource = preloads->begin().get()->get(); |
169 ASSERT_EQ(testCase.priority, resource->resourceRequest().pri ority()); | 169 EXPECT_EQ(testCase.priority, resource->resourceRequest().pri ority()); |
170 ASSERT_EQ(testCase.context, resource->resourceRequest().requ estContext()); | 170 EXPECT_EQ(testCase.context, resource->resourceRequest().requ estContext()); |
171 } | 171 } |
172 } | 172 } |
173 dummyPageHolder->document().fetcher()->clearPreloads(); | 173 dummyPageHolder->document().fetcher()->clearPreloads(); |
174 } | 174 } |
175 memoryCache()->evictResources(); | 175 memoryCache()->evictResources(); |
176 Platform::current()->getURLLoaderMockFactory()->unregisterAllURLs(); | 176 Platform::current()->getURLLoaderMockFactory()->unregisterAllURLs(); |
177 } | 177 } |
178 } | 178 } |
179 | 179 |
180 TEST(LinkLoaderTest, DNSPrefetch) | 180 TEST(LinkLoaderTest, DNSPrefetch) |
(...skipping 18 matching lines...) Expand all Loading... | |
199 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); | 199 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); |
200 NetworkHintsMock networkHints; | 200 NetworkHintsMock networkHints; |
201 loader->loadLink(LinkRelAttribute("dns-prefetch"), | 201 loader->loadLink(LinkRelAttribute("dns-prefetch"), |
202 CrossOriginAttributeNotSet, | 202 CrossOriginAttributeNotSet, |
203 String(), | 203 String(), |
204 String(), | 204 String(), |
205 String(), | 205 String(), |
206 hrefURL, | 206 hrefURL, |
207 dummyPageHolder->document(), | 207 dummyPageHolder->document(), |
208 networkHints); | 208 networkHints); |
209 ASSERT_FALSE(networkHints.didPreconnect()); | 209 EXPECT_FALSE(networkHints.didPreconnect()); |
210 ASSERT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch()); | 210 EXPECT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch()); |
211 } | 211 } |
212 } | 212 } |
213 | 213 |
214 TEST(LinkLoaderTest, Preconnect) | 214 TEST(LinkLoaderTest, Preconnect) |
215 { | 215 { |
216 struct { | 216 struct { |
217 const char* href; | 217 const char* href; |
218 CrossOriginAttributeValue crossOrigin; | 218 CrossOriginAttributeValue crossOrigin; |
219 const bool shouldLoad; | 219 const bool shouldLoad; |
220 const bool isHTTPS; | 220 const bool isHTTPS; |
(...skipping 13 matching lines...) Expand all Loading... | |
234 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); | 234 KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.co m")), testCase.href); |
235 NetworkHintsMock networkHints; | 235 NetworkHintsMock networkHints; |
236 loader->loadLink(LinkRelAttribute("preconnect"), | 236 loader->loadLink(LinkRelAttribute("preconnect"), |
237 testCase.crossOrigin, | 237 testCase.crossOrigin, |
238 String(), | 238 String(), |
239 String(), | 239 String(), |
240 String(), | 240 String(), |
241 hrefURL, | 241 hrefURL, |
242 dummyPageHolder->document(), | 242 dummyPageHolder->document(), |
243 networkHints); | 243 networkHints); |
244 ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); | 244 EXPECT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); |
245 ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); | 245 EXPECT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); |
246 ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); | 246 EXPECT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); |
247 } | 247 } |
248 } | 248 } |
249 | 249 |
250 } // namespace blink | 250 } // namespace blink |
OLD | NEW |