Chromium Code Reviews| Index: third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp |
| diff --git a/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp b/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp |
| index e43d2e1c85bfac46c392c1b1b20114975a462f0f..3a7764acb37fd4b489bec10889a70427a49ae5ce 100644 |
| --- a/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp |
| +++ b/third_party/WebKit/Source/core/loader/LinkLoaderTest.cpp |
| @@ -10,17 +10,20 @@ |
| #include "core/html/LinkRelAttribute.h" |
| #include "core/loader/DocumentLoader.h" |
| #include "core/loader/LinkLoaderClient.h" |
| -#include "core/loader/NetworkHintsInterface.h" |
| #include "core/testing/DummyPageHolder.h" |
| #include "platform/network/ResourceLoadPriority.h" |
| +#include "platform/testing/PlatformMojoMock.h" |
| #include "platform/testing/URLTestHelpers.h" |
| #include "public/platform/Platform.h" |
| #include "public/platform/WebURLLoaderMockFactory.h" |
| +#include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include <base/macros.h> |
| namespace blink { |
| +using ::testing::_; |
| + |
| class MockLinkLoaderClient final : public GarbageCollectedFinalized<MockLinkLoaderClient>, public LinkLoaderClient { |
| USING_GARBAGE_COLLECTED_MIXIN(MockLinkLoaderClient); |
| public: |
| @@ -52,39 +55,6 @@ private: |
| bool m_shouldLoad; |
| }; |
| -class NetworkHintsMock : public NetworkHintsInterface { |
| -public: |
| - NetworkHintsMock() |
| - : m_didDnsPrefetch(false) |
| - , m_didPreconnect(false) |
| - { |
| - } |
| - |
| - void dnsPrefetchHost(const String& host) const override |
| - { |
| - m_didDnsPrefetch = true; |
| - } |
| - |
| - void preconnectHost(const KURL& host, const CrossOriginAttributeValue crossOrigin) const override |
| - { |
| - m_didPreconnect = true; |
| - m_isHTTPS = host.protocolIs("https"); |
| - m_isCrossOrigin = (crossOrigin == CrossOriginAttributeAnonymous); |
| - } |
| - |
| - bool didDnsPrefetch() { return m_didDnsPrefetch; } |
| - bool didPreconnect() { return m_didPreconnect; } |
| - bool isHTTPS() { return m_isHTTPS; } |
| - bool isCrossOrigin() { return m_isCrossOrigin; } |
| - |
| -private: |
| - mutable bool m_didDnsPrefetch; |
| - mutable bool m_didPreconnect; |
| - mutable bool m_isHTTPS; |
| - mutable bool m_isCrossOrigin; |
| - |
| -}; |
| - |
| TEST(LinkLoaderTest, Preload) |
| { |
| struct TestCase { |
| @@ -147,8 +117,7 @@ TEST(LinkLoaderTest, Preload) |
| testCase.as, |
| testCase.media, |
| hrefURL, |
| - dummyPageHolder->document(), |
| - NetworkHintsMock()); |
| + dummyPageHolder->document()); |
| ASSERT(dummyPageHolder->document().fetcher()); |
| HeapListHashSet<Member<Resource>>* preloads = dummyPageHolder->document().fetcher()->preloads(); |
| if (testCase.expectingLoad) { |
| @@ -196,17 +165,20 @@ TEST(LinkLoaderTest, DNSPrefetch) |
| Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::create(testCase.shouldLoad); |
| LinkLoader* loader = LinkLoader::create(loaderClient.get()); |
| KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.com")), testCase.href); |
| - NetworkHintsMock networkHints; |
| + |
| + PlatformMojoMock mockPlatform; |
| + EXPECT_CALL(mockPlatform, preconnect(_, _, _)) |
| + .Times(0); |
| + EXPECT_CALL(mockPlatform, preresolve(hrefURL)) |
| + .Times(1); |
| + |
| loader->loadLink(LinkRelAttribute("dns-prefetch"), |
| CrossOriginAttributeNotSet, |
| String(), |
| String(), |
| String(), |
| hrefURL, |
| - dummyPageHolder->document(), |
| - networkHints); |
| - ASSERT_FALSE(networkHints.didPreconnect()); |
| - ASSERT_EQ(testCase.shouldLoad, networkHints.didDnsPrefetch()); |
|
Yoav Weiss
2016/06/13 08:26:08
Again, where did the asserts go?
|
| + dummyPageHolder->document()); |
| } |
| } |
| @@ -216,13 +188,11 @@ TEST(LinkLoaderTest, Preconnect) |
| const char* href; |
| CrossOriginAttributeValue crossOrigin; |
| const bool shouldLoad; |
| - const bool isHTTPS; |
| - const bool isCrossOrigin; |
| } cases[] = { |
| - {"http://example.com/", CrossOriginAttributeNotSet, true, false, false}, |
| - {"https://example.com/", CrossOriginAttributeNotSet, true, true, false}, |
| - {"http://example.com/", CrossOriginAttributeAnonymous, true, false, true}, |
| - {"//example.com/", CrossOriginAttributeNotSet, true, false, false}, |
| + {"http://example.com/", CrossOriginAttributeNotSet, true}, |
| + {"https://example.com/", CrossOriginAttributeNotSet, true}, |
| + {"http://example.com/", CrossOriginAttributeAnonymous, true}, |
| + {"//example.com/", CrossOriginAttributeNotSet, true}, |
| }; |
| // Test the cases with a single header |
| @@ -231,18 +201,20 @@ TEST(LinkLoaderTest, Preconnect) |
| Persistent<MockLinkLoaderClient> loaderClient = MockLinkLoaderClient::create(testCase.shouldLoad); |
| LinkLoader* loader = LinkLoader::create(loaderClient.get()); |
| KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String("http://example.com")), testCase.href); |
| - NetworkHintsMock networkHints; |
| + |
| + PlatformMojoMock mockPlatform; |
| + EXPECT_CALL(mockPlatform, preconnect(hrefURL, ::testing::Eq(testCase.crossOrigin != CrossOriginAttributeAnonymous), 1)) |
| + .Times(1); |
| + EXPECT_CALL(mockPlatform, preresolve(_)) |
| + .Times(0); |
| + |
| loader->loadLink(LinkRelAttribute("preconnect"), |
| testCase.crossOrigin, |
| String(), |
| String(), |
| String(), |
| hrefURL, |
| - dummyPageHolder->document(), |
| - networkHints); |
| - ASSERT_EQ(testCase.shouldLoad, networkHints.didPreconnect()); |
| - ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS()); |
| - ASSERT_EQ(testCase.isCrossOrigin, networkHints.isCrossOrigin()); |
| + dummyPageHolder->document()); |
| } |
| } |