| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| 11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
| 12 #include "base/synchronization/lock.h" | 12 #include "base/synchronization/lock.h" |
| 13 #include "base/values.h" | 13 #include "base/values.h" |
| 14 #include "chrome/test/chromedriver/chrome.h" | 14 #include "chrome/test/chromedriver/chrome.h" |
| 15 #include "chrome/test/chromedriver/chrome_launcher.h" | 15 #include "chrome/test/chromedriver/chrome_launcher.h" |
| 16 #include "chrome/test/chromedriver/command_executor_impl.h" | 16 #include "chrome/test/chromedriver/command_executor_impl.h" |
| 17 #include "chrome/test/chromedriver/commands.h" | 17 #include "chrome/test/chromedriver/commands.h" |
| 18 #include "chrome/test/chromedriver/fake_session_accessor.h" | 18 #include "chrome/test/chromedriver/fake_session_accessor.h" |
| 19 #include "chrome/test/chromedriver/status.h" | 19 #include "chrome/test/chromedriver/status.h" |
| 20 #include "testing/gtest/include/gtest/gtest.h" | 20 #include "testing/gtest/include/gtest/gtest.h" |
| 21 | 21 |
| 22 namespace { | 22 namespace { |
| 23 | 23 |
| 24 class StubChrome : public Chrome { | 24 class StubChrome : public Chrome { |
| 25 public: | 25 public: |
| 26 StubChrome() {} | 26 StubChrome() {} |
| 27 virtual ~StubChrome() {} | 27 virtual ~StubChrome() {} |
| 28 | 28 |
| 29 // Overridden from Chrome: | 29 // Overridden from Chrome: |
| 30 virtual Status Load(const std::string& url) OVERRIDE { |
| 31 return Status(kOk); |
| 32 } |
| 30 virtual Status Quit() OVERRIDE { | 33 virtual Status Quit() OVERRIDE { |
| 31 return Status(kOk); | 34 return Status(kOk); |
| 32 } | 35 } |
| 33 }; | 36 }; |
| 34 | 37 |
| 35 class OkLauncher : public ChromeLauncher { | 38 class OkLauncher : public ChromeLauncher { |
| 36 public: | 39 public: |
| 37 OkLauncher() {} | 40 OkLauncher() {} |
| 38 virtual ~OkLauncher() {} | 41 virtual ~OkLauncher() {} |
| 39 | 42 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 scoped_refptr<SessionAccessor>(new FakeSessionAccessor(&session))); | 148 scoped_refptr<SessionAccessor>(new FakeSessionAccessor(&session))); |
| 146 base::DictionaryValue params; | 149 base::DictionaryValue params; |
| 147 scoped_ptr<base::Value> value; | 150 scoped_ptr<base::Value> value; |
| 148 ASSERT_EQ(kOk, ExecuteQuit(&map, &session, params, &value).code()); | 151 ASSERT_EQ(kOk, ExecuteQuit(&map, &session, params, &value).code()); |
| 149 ASSERT_FALSE(map.Has(session.id)); | 152 ASSERT_FALSE(map.Has(session.id)); |
| 150 ASSERT_FALSE(value.get()); | 153 ASSERT_FALSE(value.get()); |
| 151 } | 154 } |
| 152 | 155 |
| 153 namespace { | 156 namespace { |
| 154 | 157 |
| 155 class FailsToQuitChrome : public Chrome { | 158 class FailsToQuitChrome : public StubChrome { |
| 156 public: | 159 public: |
| 157 FailsToQuitChrome() {} | 160 FailsToQuitChrome() {} |
| 158 virtual ~FailsToQuitChrome() {} | 161 virtual ~FailsToQuitChrome() {} |
| 159 | 162 |
| 160 // Overridden from Chrome: | 163 // Overridden from Chrome: |
| 161 virtual Status Quit() OVERRIDE { | 164 virtual Status Quit() OVERRIDE { |
| 162 return Status(kUnknownError); | 165 return Status(kUnknownError); |
| 163 } | 166 } |
| 164 }; | 167 }; |
| 165 | 168 |
| 166 } // namespace | 169 } // namespace |
| 167 | 170 |
| 168 TEST(CommandsTest, QuitFails) { | 171 TEST(CommandsTest, QuitFails) { |
| 169 SessionMap map; | 172 SessionMap map; |
| 170 Session session("id", scoped_ptr<Chrome>(new FailsToQuitChrome())); | 173 Session session("id", scoped_ptr<Chrome>(new FailsToQuitChrome())); |
| 171 map.Set(session.id, | 174 map.Set(session.id, |
| 172 scoped_refptr<SessionAccessor>(new FakeSessionAccessor(&session))); | 175 scoped_refptr<SessionAccessor>(new FakeSessionAccessor(&session))); |
| 173 base::DictionaryValue params; | 176 base::DictionaryValue params; |
| 174 scoped_ptr<base::Value> value; | 177 scoped_ptr<base::Value> value; |
| 175 ASSERT_EQ(kUnknownError, ExecuteQuit(&map, &session, params, &value).code()); | 178 ASSERT_EQ(kUnknownError, ExecuteQuit(&map, &session, params, &value).code()); |
| 176 ASSERT_FALSE(map.Has(session.id)); | 179 ASSERT_FALSE(map.Has(session.id)); |
| 177 ASSERT_FALSE(value.get()); | 180 ASSERT_FALSE(value.get()); |
| 178 } | 181 } |
| OLD | NEW |