Index: chrome/browser/devtools/device/cloud/devtools_bridge_client_browsertest.cc |
diff --git a/chrome/browser/devtools/device/cloud/devtools_bridge_client_browsertest.cc b/chrome/browser/devtools/device/cloud/devtools_bridge_client_browsertest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6b9a7fca5cfaa8295d0996fb3c12ba4f9f2f9b14 |
--- /dev/null |
+++ b/chrome/browser/devtools/device/cloud/devtools_bridge_client_browsertest.cc |
@@ -0,0 +1,50 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/devtools/device/cloud/devtools_bridge_client.h" |
+#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/ui/browser.h" |
+#include "chrome/test/base/in_process_browser_test.h" |
+#include "content/public/test/test_utils.h" |
+ |
+class DevToolsBridgeClientTest : public InProcessBrowserTest, |
+ protected DevToolsBridgeClient::Delegate { |
+ protected: |
+ DevToolsBridgeClientTest() |
+ : state_(STATE_NONE) { |
+ } |
+ |
+ enum State { |
+ STATE_NONE, |
+ STATE_WAITING_COMMAND |
+ }; |
+ |
+ void Wait(State state) { |
+ DCHECK(state_ == STATE_NONE); |
+ DCHECK(state == STATE_NONE); |
+ |
+ state_ = state; |
+ runner_ = new content::MessageLoopRunner; |
+ runner_->Run(); |
+ runner_ = NULL; |
+ } |
+ |
+ void SendCommand(const std::string& command) override { |
+ if (state_ == STATE_WAITING_COMMAND) { |
+ runner_->Quit(); |
+ } |
+ } |
+ |
+ private: |
+ State state_; |
+ scoped_refptr<content::MessageLoopRunner> runner_; |
+}; |
+ |
+IN_PROC_BROWSER_TEST_F(DevToolsBridgeClientTest, TestInstanceCreateion) { |
+ scoped_ptr<DevToolsBridgeClient> client = |
+ DevToolsBridgeClient::CreateInstance(browser()->profile(), this); |
+ |
+ client->StartSession("DEVICE_ID"); |
+ Wait(STATE_WAITING_COMMAND); |
+} |