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()); |
} |
} |