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/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "chrome/test/chromedriver/fake_session_accessor.h" | 21 #include "chrome/test/chromedriver/fake_session_accessor.h" |
22 #include "chrome/test/chromedriver/session_commands.h" | 22 #include "chrome/test/chromedriver/session_commands.h" |
23 #include "chrome/test/chromedriver/window_commands.h" | 23 #include "chrome/test/chromedriver/window_commands.h" |
24 #include "testing/gtest/include/gtest/gtest.h" | 24 #include "testing/gtest/include/gtest/gtest.h" |
25 #include "third_party/webdriver/atoms.h" | 25 #include "third_party/webdriver/atoms.h" |
26 | 26 |
27 TEST(CommandsTest, GetStatus) { | 27 TEST(CommandsTest, GetStatus) { |
28 base::DictionaryValue params; | 28 base::DictionaryValue params; |
29 scoped_ptr<base::Value> value; | 29 scoped_ptr<base::Value> value; |
30 std::string session_id; | 30 std::string session_id; |
31 ASSERT_EQ(kOk, ExecuteGetStatus(params, "", &value, &session_id).code()); | 31 ASSERT_EQ( |
| 32 kOk, ExecuteGetStatus(params, std::string(), &value, &session_id).code()); |
32 base::DictionaryValue* dict; | 33 base::DictionaryValue* dict; |
33 ASSERT_TRUE(value->GetAsDictionary(&dict)); | 34 ASSERT_TRUE(value->GetAsDictionary(&dict)); |
34 base::Value* unused; | 35 base::Value* unused; |
35 ASSERT_TRUE(dict->Get("os.name", &unused)); | 36 ASSERT_TRUE(dict->Get("os.name", &unused)); |
36 ASSERT_TRUE(dict->Get("os.version", &unused)); | 37 ASSERT_TRUE(dict->Get("os.version", &unused)); |
37 ASSERT_TRUE(dict->Get("os.arch", &unused)); | 38 ASSERT_TRUE(dict->Get("os.arch", &unused)); |
38 ASSERT_TRUE(dict->Get("build.version", &unused)); | 39 ASSERT_TRUE(dict->Get("build.version", &unused)); |
39 } | 40 } |
40 | 41 |
41 namespace { | 42 namespace { |
(...skipping 23 matching lines...) Expand all Loading... |
65 scoped_refptr<SessionAccessor>(new FakeSessionAccessor(&session))); | 66 scoped_refptr<SessionAccessor>(new FakeSessionAccessor(&session))); |
66 map.Set(session2.id, | 67 map.Set(session2.id, |
67 scoped_refptr<SessionAccessor>(new FakeSessionAccessor(&session2))); | 68 scoped_refptr<SessionAccessor>(new FakeSessionAccessor(&session2))); |
68 | 69 |
69 int count = 0; | 70 int count = 0; |
70 Command cmd = base::Bind(&ExecuteStubQuit, &count); | 71 Command cmd = base::Bind(&ExecuteStubQuit, &count); |
71 base::DictionaryValue params; | 72 base::DictionaryValue params; |
72 scoped_ptr<base::Value> value; | 73 scoped_ptr<base::Value> value; |
73 std::string session_id; | 74 std::string session_id; |
74 Status status = | 75 Status status = |
75 ExecuteQuitAll(cmd, &map, params, "", &value, &session_id); | 76 ExecuteQuitAll(cmd, &map, params, std::string(), &value, &session_id); |
76 ASSERT_EQ(kOk, status.code()); | 77 ASSERT_EQ(kOk, status.code()); |
77 ASSERT_FALSE(value.get()); | 78 ASSERT_FALSE(value.get()); |
78 ASSERT_EQ(2, count); | 79 ASSERT_EQ(2, count); |
79 } | 80 } |
80 | 81 |
81 TEST(CommandsTest, Quit) { | 82 TEST(CommandsTest, Quit) { |
82 SessionMap map; | 83 SessionMap map; |
83 Session session("id", scoped_ptr<Chrome>(new StubChrome())); | 84 Session session("id", scoped_ptr<Chrome>(new StubChrome())); |
84 ASSERT_TRUE(session.thread.Start()); | 85 ASSERT_TRUE(session.thread.Start()); |
85 scoped_refptr<FakeSessionAccessor> session_accessor( | 86 scoped_refptr<FakeSessionAccessor> session_accessor( |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 scoped_ptr<base::ListValue> args_; | 237 scoped_ptr<base::ListValue> args_; |
237 scoped_ptr<base::Value> result_; | 238 scoped_ptr<base::Value> result_; |
238 }; | 239 }; |
239 | 240 |
240 } // namespace | 241 } // namespace |
241 | 242 |
242 TEST(CommandsTest, SuccessfulFindElement) { | 243 TEST(CommandsTest, SuccessfulFindElement) { |
243 FindElementWebView web_view(true, kElementExistsQueryTwice); | 244 FindElementWebView web_view(true, kElementExistsQueryTwice); |
244 Session session("id"); | 245 Session session("id"); |
245 session.implicit_wait = 1000; | 246 session.implicit_wait = 1000; |
246 session.SwitchToSubFrame("frame_id1", ""); | 247 session.SwitchToSubFrame("frame_id1", std::string()); |
247 base::DictionaryValue params; | 248 base::DictionaryValue params; |
248 params.SetString("using", "id"); | 249 params.SetString("using", "id"); |
249 params.SetString("value", "a"); | 250 params.SetString("value", "a"); |
250 scoped_ptr<base::Value> result; | 251 scoped_ptr<base::Value> result; |
251 ASSERT_EQ(kOk, | 252 ASSERT_EQ(kOk, |
252 ExecuteFindElement(1, &session, &web_view, params, &result).code()); | 253 ExecuteFindElement(1, &session, &web_view, params, &result).code()); |
253 base::DictionaryValue param; | 254 base::DictionaryValue param; |
254 param.SetString("id", "a"); | 255 param.SetString("id", "a"); |
255 base::ListValue expected_args; | 256 base::ListValue expected_args; |
256 expected_args.Append(param.DeepCopy()); | 257 expected_args.Append(param.DeepCopy()); |
257 web_view.Verify("frame_id1", &expected_args, result.get()); | 258 web_view.Verify("frame_id1", &expected_args, result.get()); |
258 } | 259 } |
259 | 260 |
260 TEST(CommandsTest, FailedFindElement) { | 261 TEST(CommandsTest, FailedFindElement) { |
261 FindElementWebView web_view(true, kElementNotExistsQueryOnce); | 262 FindElementWebView web_view(true, kElementNotExistsQueryOnce); |
262 Session session("id"); | 263 Session session("id"); |
263 base::DictionaryValue params; | 264 base::DictionaryValue params; |
264 params.SetString("using", "id"); | 265 params.SetString("using", "id"); |
265 params.SetString("value", "a"); | 266 params.SetString("value", "a"); |
266 scoped_ptr<base::Value> result; | 267 scoped_ptr<base::Value> result; |
267 ASSERT_EQ(kNoSuchElement, | 268 ASSERT_EQ(kNoSuchElement, |
268 ExecuteFindElement(1, &session, &web_view, params, &result).code()); | 269 ExecuteFindElement(1, &session, &web_view, params, &result).code()); |
269 } | 270 } |
270 | 271 |
271 TEST(CommandsTest, SuccessfulFindElements) { | 272 TEST(CommandsTest, SuccessfulFindElements) { |
272 FindElementWebView web_view(false, kElementExistsQueryTwice); | 273 FindElementWebView web_view(false, kElementExistsQueryTwice); |
273 Session session("id"); | 274 Session session("id"); |
274 session.implicit_wait = 1000; | 275 session.implicit_wait = 1000; |
275 session.SwitchToSubFrame("frame_id2", ""); | 276 session.SwitchToSubFrame("frame_id2", std::string()); |
276 base::DictionaryValue params; | 277 base::DictionaryValue params; |
277 params.SetString("using", "name"); | 278 params.SetString("using", "name"); |
278 params.SetString("value", "b"); | 279 params.SetString("value", "b"); |
279 scoped_ptr<base::Value> result; | 280 scoped_ptr<base::Value> result; |
280 ASSERT_EQ( | 281 ASSERT_EQ( |
281 kOk, | 282 kOk, |
282 ExecuteFindElements(1, &session, &web_view, params, &result).code()); | 283 ExecuteFindElements(1, &session, &web_view, params, &result).code()); |
283 base::DictionaryValue param; | 284 base::DictionaryValue param; |
284 param.SetString("name", "b"); | 285 param.SetString("name", "b"); |
285 base::ListValue expected_args; | 286 base::ListValue expected_args; |
(...skipping 13 matching lines...) Expand all Loading... |
299 ExecuteFindElements(1, &session, &web_view, params, &result).code()); | 300 ExecuteFindElements(1, &session, &web_view, params, &result).code()); |
300 base::ListValue* list; | 301 base::ListValue* list; |
301 ASSERT_TRUE(result->GetAsList(&list)); | 302 ASSERT_TRUE(result->GetAsList(&list)); |
302 ASSERT_EQ(0U, list->GetSize()); | 303 ASSERT_EQ(0U, list->GetSize()); |
303 } | 304 } |
304 | 305 |
305 TEST(CommandsTest, SuccessfulFindChildElement) { | 306 TEST(CommandsTest, SuccessfulFindChildElement) { |
306 FindElementWebView web_view(true, kElementExistsQueryTwice); | 307 FindElementWebView web_view(true, kElementExistsQueryTwice); |
307 Session session("id"); | 308 Session session("id"); |
308 session.implicit_wait = 1000; | 309 session.implicit_wait = 1000; |
309 session.SwitchToSubFrame("frame_id3", ""); | 310 session.SwitchToSubFrame("frame_id3", std::string()); |
310 base::DictionaryValue params; | 311 base::DictionaryValue params; |
311 params.SetString("using", "tag name"); | 312 params.SetString("using", "tag name"); |
312 params.SetString("value", "div"); | 313 params.SetString("value", "div"); |
313 std::string element_id = "1"; | 314 std::string element_id = "1"; |
314 scoped_ptr<base::Value> result; | 315 scoped_ptr<base::Value> result; |
315 ASSERT_EQ( | 316 ASSERT_EQ( |
316 kOk, | 317 kOk, |
317 ExecuteFindChildElement( | 318 ExecuteFindChildElement( |
318 1, &session, &web_view, element_id, params, &result).code()); | 319 1, &session, &web_view, element_id, params, &result).code()); |
319 base::DictionaryValue locator_param; | 320 base::DictionaryValue locator_param; |
(...skipping 17 matching lines...) Expand all Loading... |
337 ASSERT_EQ( | 338 ASSERT_EQ( |
338 kNoSuchElement, | 339 kNoSuchElement, |
339 ExecuteFindChildElement( | 340 ExecuteFindChildElement( |
340 1, &session, &web_view, element_id, params, &result).code()); | 341 1, &session, &web_view, element_id, params, &result).code()); |
341 } | 342 } |
342 | 343 |
343 TEST(CommandsTest, SuccessfulFindChildElements) { | 344 TEST(CommandsTest, SuccessfulFindChildElements) { |
344 FindElementWebView web_view(false, kElementExistsQueryTwice); | 345 FindElementWebView web_view(false, kElementExistsQueryTwice); |
345 Session session("id"); | 346 Session session("id"); |
346 session.implicit_wait = 1000; | 347 session.implicit_wait = 1000; |
347 session.SwitchToSubFrame("frame_id4", ""); | 348 session.SwitchToSubFrame("frame_id4", std::string()); |
348 base::DictionaryValue params; | 349 base::DictionaryValue params; |
349 params.SetString("using", "class name"); | 350 params.SetString("using", "class name"); |
350 params.SetString("value", "c"); | 351 params.SetString("value", "c"); |
351 std::string element_id = "1"; | 352 std::string element_id = "1"; |
352 scoped_ptr<base::Value> result; | 353 scoped_ptr<base::Value> result; |
353 ASSERT_EQ( | 354 ASSERT_EQ( |
354 kOk, | 355 kOk, |
355 ExecuteFindChildElements( | 356 ExecuteFindChildElements( |
356 1, &session, &web_view, element_id, params, &result).code()); | 357 1, &session, &web_view, element_id, params, &result).code()); |
357 base::DictionaryValue locator_param; | 358 base::DictionaryValue locator_param; |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 scoped_ptr<base::Value> result; | 440 scoped_ptr<base::Value> result; |
440 ASSERT_EQ( | 441 ASSERT_EQ( |
441 kStaleElementReference, | 442 kStaleElementReference, |
442 ExecuteFindChildElement( | 443 ExecuteFindChildElement( |
443 1, &session, &web_view, element_id, params, &result).code()); | 444 1, &session, &web_view, element_id, params, &result).code()); |
444 ASSERT_EQ( | 445 ASSERT_EQ( |
445 kStaleElementReference, | 446 kStaleElementReference, |
446 ExecuteFindChildElements( | 447 ExecuteFindChildElements( |
447 1, &session, &web_view, element_id, params, &result).code()); | 448 1, &session, &web_view, element_id, params, &result).code()); |
448 } | 449 } |
OLD | NEW |