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

Unified Diff: headless/lib/headless_devtools_client_browsertest.cc

Issue 1907533002: headless: Implement DevTools events (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add parameters to all events Created 4 years, 8 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
« no previous file with comments | « headless/lib/browser/types_h.template ('k') | headless/public/internal/message_dispatcher.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: headless/lib/headless_devtools_client_browsertest.cc
diff --git a/headless/lib/headless_devtools_client_browsertest.cc b/headless/lib/headless_devtools_client_browsertest.cc
index 095a746884c713af418b03d5009f4894f2ac3993..62ef1297fcd240907ef4918c6d21ef0d0062d8e5 100644
--- a/headless/lib/headless_devtools_client_browsertest.cc
+++ b/headless/lib/headless_devtools_client_browsertest.cc
@@ -5,6 +5,7 @@
#include <memory>
#include "content/public/test/browser_test.h"
+#include "headless/public/domains/network.h"
#include "headless/public/domains/page.h"
#include "headless/public/domains/runtime.h"
#include "headless/public/headless_browser.h"
@@ -57,7 +58,8 @@ class HeadlessDevToolsClientTest : public HeadlessBrowserTest,
std::unique_ptr<HeadlessDevToolsClient> devtools_client_;
};
-class HeadlessDevToolsClientNavigationTest : public HeadlessDevToolsClientTest {
+class HeadlessDevToolsClientNavigationTest : public HeadlessDevToolsClientTest,
+ page::Observer {
public:
void RunDevToolsClientTest() override {
EXPECT_TRUE(embedded_test_server()->Start());
@@ -65,14 +67,18 @@ class HeadlessDevToolsClientNavigationTest : public HeadlessDevToolsClientTest {
page::NavigateParams::Builder()
.SetUrl(embedded_test_server()->GetURL("/hello.html").spec())
.Build();
+ devtools_client_->GetPage()->AddObserver(this);
+ devtools_client_->GetPage()->Enable();
devtools_client_->GetPage()->Navigate(std::move(params));
}
- // TODO(skyostil): Wait for a load event once we support them.
- void DidFinishNavigation(bool success) override {
- EXPECT_TRUE(success);
+ void OnLoadEventFired(const page::LoadEventFiredParams& params) override {
+ devtools_client_->GetPage()->RemoveObserver(this);
FinishAsynchronousTest();
}
+
+ // Check that events with no parameters still get a parameters object.
+ void OnFrameResized(const page::FrameResizedParams& params) override {}
};
DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientNavigationTest);
@@ -146,4 +152,38 @@ class HeadlessDevToolsClientCallbackTest : public HeadlessDevToolsClientTest {
DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientCallbackTest);
+class HeadlessDevToolsClientObserverTest : public HeadlessDevToolsClientTest,
+ network::Observer {
+ public:
+ void RunDevToolsClientTest() override {
+ EXPECT_TRUE(embedded_test_server()->Start());
+ devtools_client_->GetNetwork()->AddObserver(this);
+ devtools_client_->GetNetwork()->Enable();
+ devtools_client_->GetPage()->Navigate(
+ embedded_test_server()->GetURL("/hello.html").spec());
+ }
+
+ void OnRequestWillBeSent(
+ const network::RequestWillBeSentParams& params) override {
+ EXPECT_EQ("GET", params.GetRequest()->GetMethod());
+ EXPECT_EQ(embedded_test_server()->GetURL("/hello.html").spec(),
+ params.GetRequest()->GetUrl());
+ }
+
+ void OnResponseReceived(
+ const network::ResponseReceivedParams& params) override {
+ EXPECT_EQ(200, params.GetResponse()->GetStatus());
+ EXPECT_EQ("OK", params.GetResponse()->GetStatusText());
+ std::string content_type;
+ EXPECT_TRUE(params.GetResponse()->GetHeaders()->GetString("Content-Type",
+ &content_type));
+ EXPECT_EQ("text/html", content_type);
+
+ devtools_client_->GetNetwork()->RemoveObserver(this);
+ FinishAsynchronousTest();
+ }
+};
+
+DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientObserverTest);
+
} // namespace headless
« no previous file with comments | « headless/lib/browser/types_h.template ('k') | headless/public/internal/message_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698