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

Unified Diff: headless/lib/headless_devtools_client_browsertest.cc

Issue 2539833002: Deliver errors from devtools API calls to callbacks (Closed)
Patch Set: Addressed review comments Created 4 years 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/headless_devtools_client_impl.cc ('k') | no next file » | 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 521c8b19253bb0565f3fe4cce1a2224a60d08e83..4c19d056e676df7536d0d3987008773a8db4c14a 100644
--- a/headless/lib/headless_devtools_client_browsertest.cc
+++ b/headless/lib/headless_devtools_client_browsertest.cc
@@ -10,6 +10,7 @@
#include "content/public/common/url_constants.h"
#include "content/public/test/browser_test.h"
#include "headless/lib/browser/headless_web_contents_impl.h"
+#include "headless/public/devtools/domains/dom.h"
#include "headless/public/devtools/domains/emulation.h"
#include "headless/public/devtools/domains/inspector.h"
#include "headless/public/devtools/domains/network.h"
@@ -746,4 +747,41 @@ class HeadlessDevToolsClientAttachTest
HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsClientAttachTest);
+class HeadlessDevToolsMethodCallErrorTest
+ : public HeadlessAsyncDevTooledBrowserTest,
+ public page::Observer {
+ public:
+ void RunDevTooledTest() override {
+ EXPECT_TRUE(embedded_test_server()->Start());
+ devtools_client_->GetPage()->AddObserver(this);
+ devtools_client_->GetPage()->Enable();
+ devtools_client_->GetPage()->Navigate(
+ embedded_test_server()->GetURL("/hello.html").spec());
+ }
+
+ void OnLoadEventFired(const page::LoadEventFiredParams& params) override {
+ devtools_client_->GetPage()->GetExperimental()->RemoveObserver(this);
+ devtools_client_->GetDOM()->GetDocument(
+ base::Bind(&HeadlessDevToolsMethodCallErrorTest::OnGetDocument,
+ base::Unretained(this)));
+ }
+
+ void OnGetDocument(std::unique_ptr<dom::GetDocumentResult> result) {
+ devtools_client_->GetDOM()->QuerySelector(
+ dom::QuerySelectorParams::Builder()
+ .SetNodeId(result->GetRoot()->GetNodeId())
+ .SetSelector("<o_O>")
+ .Build(),
+ base::Bind(&HeadlessDevToolsMethodCallErrorTest::OnQuerySelector,
+ base::Unretained(this)));
+ }
+
+ void OnQuerySelector(std::unique_ptr<dom::QuerySelectorResult> result) {
+ EXPECT_EQ(nullptr, result);
+ FinishAsynchronousTest();
+ }
+};
+
+HEADLESS_ASYNC_DEVTOOLED_TEST_F(HeadlessDevToolsMethodCallErrorTest);
+
} // namespace headless
« no previous file with comments | « headless/lib/browser/headless_devtools_client_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698