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

Unified Diff: third_party/WebKit/Source/core/html/parser/HTMLResourcePreloaderTest.cpp

Issue 2043753002: Declarative resource hints go through mojo IPC to //content Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use unique_ptr to avoid memory leaks in unit tests Created 4 years, 6 months 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/html/parser/HTMLResourcePreloaderTest.cpp
diff --git a/third_party/WebKit/Source/core/html/parser/HTMLResourcePreloaderTest.cpp b/third_party/WebKit/Source/core/html/parser/HTMLResourcePreloaderTest.cpp
index 4326fd380bc7020672cd85d65baff7b28936a218..224c1b1b9de298819c2027a8931a05a8a3e585c8 100644
--- a/third_party/WebKit/Source/core/html/parser/HTMLResourcePreloaderTest.cpp
+++ b/third_party/WebKit/Source/core/html/parser/HTMLResourcePreloaderTest.cpp
@@ -6,10 +6,14 @@
#include "core/html/parser/PreloadRequest.h"
#include "core/testing/DummyPageHolder.h"
+#include "platform/testing/PlatformMojoMock.h"
+#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace blink {
+using ::testing::_;
+
struct PreconnectTestCase {
const char* baseURL;
const char* url;
@@ -17,31 +21,6 @@ struct PreconnectTestCase {
bool isHTTPS;
};
-class PreloaderNetworkHintsMock : public NetworkHintsInterface {
-public:
- PreloaderNetworkHintsMock()
- : m_didPreconnect(false)
- {
- }
-
- void dnsPrefetchHost(const String& host) const { }
- void preconnectHost(const KURL& host, const CrossOriginAttributeValue crossOrigin) const override
- {
- m_didPreconnect = true;
- m_isHTTPS = host.protocolIs("https");
- m_isCrossOrigin = (crossOrigin == CrossOriginAttributeAnonymous);
- }
-
- bool didPreconnect() { return m_didPreconnect; }
- bool isHTTPS() { return m_isHTTPS; }
- bool isCrossOrigin() { return m_isCrossOrigin; }
-
-private:
- mutable bool m_didPreconnect;
- mutable bool m_isHTTPS;
- mutable bool m_isCrossOrigin;
-};
-
class HTMLResourcePreloaderTest : public testing::Test {
protected:
HTMLResourcePreloaderTest()
@@ -52,7 +31,14 @@ protected:
void test(PreconnectTestCase testCase)
{
// TODO(yoav): Need a mock loader here to verify things are happenning beyond preconnect.
- PreloaderNetworkHintsMock networkHints;
+ KURL hrefURL = KURL(KURL(ParsedURLStringTag(), String(testCase.baseURL)), testCase.url);
+
+ PlatformMojoMock mockPlatform;
+ EXPECT_CALL(mockPlatform, preconnect(hrefURL, ::testing::Ne(testCase.isCORS), 1))
+ .Times(1);
+ EXPECT_CALL(mockPlatform, preresolve(_))
+ .Times(0);
+
OwnPtr<PreloadRequest> preloadRequest = PreloadRequest::create(String(),
TextPosition(),
testCase.url,
@@ -65,10 +51,7 @@ protected:
if (testCase.isCORS)
preloadRequest->setCrossOrigin(CrossOriginAttributeAnonymous);
HTMLResourcePreloader* preloader = HTMLResourcePreloader::create(m_dummyPageHolder->document());
- preloader->preload(std::move(preloadRequest), networkHints);
- ASSERT_TRUE(networkHints.didPreconnect());
- ASSERT_EQ(testCase.isCORS, networkHints.isCrossOrigin());
- ASSERT_EQ(testCase.isHTTPS, networkHints.isHTTPS());
+ preloader->preload(std::move(preloadRequest));
Yoav Weiss 2016/06/13 08:26:08 Where are we verifying that we're actually preconn
Charlie Harrison 2016/06/14 19:28:45 The protocol is included in the EXPECT_CALL with t
}
private:

Powered by Google App Engine
This is Rietveld 408576698