Chromium Code Reviews| 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 |