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 |