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

Unified Diff: headless/lib/headless_devtools_client_browsertest.cc

Issue 1898633006: headless: Fix handling of replies without any parameters (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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/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 d67682a60f8dc117d152cc270ff89e60a629384b..5c3807f4835463da5924214d043d9f80448584ee 100644
--- a/headless/lib/headless_devtools_client_browsertest.cc
+++ b/headless/lib/headless_devtools_client_browsertest.cc
@@ -110,4 +110,39 @@ class HeadlessDevToolsClientEvalTest : public HeadlessDevToolsClientTest {
DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientEvalTest);
+class HeadlessDevToolsClientCallbackTest : public HeadlessDevToolsClientTest {
+ public:
+ HeadlessDevToolsClientCallbackTest() : first_result_received_(false) {}
+
+ void RunDevToolsClientTest() override {
+ // Null callback without parameters.
+ devtools_client_->GetRuntime()->Run();
+ // Null callback with parameters.
+ devtools_client_->GetRuntime()->Evaluate("true");
+ // Non-null callback without parameters.
+ devtools_client_->GetRuntime()->Disable(
+ base::Bind(&HeadlessDevToolsClientCallbackTest::OnFirstResult,
+ base::Unretained(this)));
+ // Non-null callback with parameters.
+ devtools_client_->GetRuntime()->Evaluate(
+ "true", base::Bind(&HeadlessDevToolsClientCallbackTest::OnSecondResult,
+ base::Unretained(this)));
+ }
+
+ void OnFirstResult() {
+ EXPECT_FALSE(first_result_received_);
+ first_result_received_ = true;
+ }
+
+ void OnSecondResult(std::unique_ptr<runtime::EvaluateResult> result) {
+ EXPECT_TRUE(first_result_received_);
+ FinishAsynchronousTest();
+ }
+
+ private:
+ bool first_result_received_;
+};
+
+DEVTOOLS_CLIENT_TEST_F(HeadlessDevToolsClientCallbackTest);
+
} // 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