| Index: chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc
|
| diff --git a/chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc b/chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc
|
| index 9d1f475aeea396795e78a3920a478926b104e091..708ca501f904315e4039e800fd9e7898c9f0ce1e 100644
|
| --- a/chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc
|
| +++ b/chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc
|
| @@ -1072,3 +1072,54 @@ TEST(DevToolsClientImpl, CorrectlyDeterminesWhichIsBlockedByAlert) {
|
| msgs.push_back("{\"id\": 6, \"result\": {}}");
|
| ASSERT_EQ(kOk, client.HandleReceivedEvents().code());
|
| }
|
| +
|
| +namespace {
|
| +
|
| +class MockCommandListener : public DevToolsEventListener {
|
| + public:
|
| + MockCommandListener() {}
|
| + virtual ~MockCommandListener() {}
|
| +
|
| + virtual void OnEvent(DevToolsClient* client,
|
| + const std::string& method,
|
| + const base::DictionaryValue& params) OVERRIDE {
|
| + msgs_.push_back(method);
|
| + }
|
| +
|
| + virtual Status OnCommandSuccess(DevToolsClient* client,
|
| + const std::string& method) OVERRIDE {
|
| + msgs_.push_back(method);
|
| + if (!callback_.is_null())
|
| + callback_.Run(client);
|
| + return Status(kOk);
|
| + }
|
| +
|
| + base::Callback<void(DevToolsClient*)> callback_;
|
| + std::list<std::string> msgs_;
|
| +};
|
| +
|
| +void HandleReceivedEvents(DevToolsClient* client) {
|
| + EXPECT_EQ(kOk, client->HandleReceivedEvents().code());
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +TEST(DevToolsClientImpl, ReceivesCommandResponse) {
|
| + std::list<std::string> msgs;
|
| + SyncWebSocketFactory factory = base::Bind(&CreateMockSyncWebSocket6, &msgs);
|
| + Logger logger;
|
| + DevToolsClientImpl client(
|
| + factory, "http://url", "id", base::Bind(&CloserFunc), &logger);
|
| + MockCommandListener listener1;
|
| + listener1.callback_ = base::Bind(&HandleReceivedEvents);
|
| + MockCommandListener listener2;
|
| + client.AddListener(&listener1);
|
| + client.AddListener(&listener2);
|
| + msgs.push_back("{\"id\": 1, \"result\": {}}");
|
| + msgs.push_back("{\"method\": \"event\", \"params\": {}}");
|
| + base::DictionaryValue params;
|
| + ASSERT_EQ(kOk, client.SendCommand("cmd", params).code());
|
| + ASSERT_EQ(2u, listener2.msgs_.size());
|
| + ASSERT_EQ("cmd", listener2.msgs_.front());
|
| + ASSERT_EQ("event", listener2.msgs_.back());
|
| +}
|
|
|