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

Unified Diff: chrome/test/chromedriver/dom_tracker_unittest.cc

Issue 12093057: [ChromeDriver] Send DOM.getDocument after each DOM.documentUpdated. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix compile error on win_rel Created 7 years, 11 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 | « chrome/test/chromedriver/dom_tracker.cc ('k') | chrome/test/chromedriver/frame_tracker.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/chromedriver/dom_tracker_unittest.cc
diff --git a/chrome/test/chromedriver/dom_tracker_unittest.cc b/chrome/test/chromedriver/dom_tracker_unittest.cc
index e8db223943d561df03016a9552ffe0bb269c44c2..de4ec0e0d8edec6443250fd885a19a8ea4d77cad 100644
--- a/chrome/test/chromedriver/dom_tracker_unittest.cc
+++ b/chrome/test/chromedriver/dom_tracker_unittest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <list>
#include <string>
#include "base/json/json_reader.h"
@@ -10,8 +11,49 @@
#include "chrome/test/chromedriver/status.h"
#include "testing/gtest/include/gtest/gtest.h"
+namespace {
+
+class FakeDevToolsClient : public DevToolsClient {
+ public:
+ FakeDevToolsClient() {}
+ virtual ~FakeDevToolsClient() {}
+
+ std::string PopSentCommand() {
+ std::string command;
+ if (!sent_command_queue_.empty()) {
+ command = sent_command_queue_.front();
+ sent_command_queue_.pop_front();
+ }
+ return command;
+ }
+
+ // Overridden from DevToolsClient:
+ virtual Status SendCommand(const std::string& method,
+ const base::DictionaryValue& params) OVERRIDE {
+ sent_command_queue_.push_back(method);
+ return Status(kOk);
+ }
+ virtual Status SendCommandAndGetResult(
+ const std::string& method,
+ const base::DictionaryValue& params,
+ scoped_ptr<base::DictionaryValue>* result) OVERRIDE {
+ return SendCommand(method, params);
+ }
+ virtual void AddListener(DevToolsEventListener* listener) OVERRIDE {}
+ virtual Status HandleEventsUntil(
+ const ConditionalFunc& conditional_func) OVERRIDE {
+ return Status(kOk);
+ }
+
+ private:
+ std::list<std::string> sent_command_queue_;
+};
+
+} // namespace
+
TEST(DomTracker, GetFrameIdForNode) {
- DomTracker tracker;
+ FakeDevToolsClient client;
+ DomTracker tracker(&client);
std::string frame_id;
ASSERT_TRUE(tracker.GetFrameIdForNode(101, &frame_id).IsError());
ASSERT_TRUE(frame_id.empty());
@@ -31,4 +73,5 @@ TEST(DomTracker, GetFrameIdForNode) {
tracker.OnEvent("DOM.documentUpdated", params);
ASSERT_TRUE(tracker.GetFrameIdForNode(102, &frame_id).IsError());
+ ASSERT_STREQ("DOM.getDocument", client.PopSentCommand().c_str());
}
« no previous file with comments | « chrome/test/chromedriver/dom_tracker.cc ('k') | chrome/test/chromedriver/frame_tracker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698