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

Side by Side Diff: chrome/browser/ui/webui/web_ui_browsertest.cc

Issue 7649006: more changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix another typo Created 9 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/tracing_ui.cc ('k') | chrome/common/common_param_traits_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "chrome/browser/ui/webui/web_ui_browsertest.h" 4 #include "chrome/browser/ui/webui/web_ui_browsertest.h"
5 5
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 bool WebUIBrowserTest::RunJavascriptFunction( 75 bool WebUIBrowserTest::RunJavascriptFunction(
76 const std::string& function_name, 76 const std::string& function_name,
77 const ConstValueVector& function_arguments) { 77 const ConstValueVector& function_arguments) {
78 return RunJavascriptUsingHandler( 78 return RunJavascriptUsingHandler(
79 function_name, function_arguments, false, false, NULL); 79 function_name, function_arguments, false, false, NULL);
80 } 80 }
81 81
82 bool WebUIBrowserTest::RunJavascriptTestF(const std::string& test_fixture, 82 bool WebUIBrowserTest::RunJavascriptTestF(const std::string& test_fixture,
83 const std::string& test_name) { 83 const std::string& test_name) {
84 ConstValueVector args; 84 ConstValueVector args;
85 args.push_back(Value::CreateStringValue(test_fixture)); 85 args.push_back(base::StringValue::New(test_fixture));
86 args.push_back(Value::CreateStringValue(test_name)); 86 args.push_back(base::StringValue::New(test_name));
87 return RunJavascriptTest("RUN_TEST_F", args); 87 return RunJavascriptTest("RUN_TEST_F", args);
88 } 88 }
89 89
90 bool WebUIBrowserTest::RunJavascriptTest(const std::string& test_name) { 90 bool WebUIBrowserTest::RunJavascriptTest(const std::string& test_name) {
91 return RunJavascriptTest(test_name, ConstValueVector()); 91 return RunJavascriptTest(test_name, ConstValueVector());
92 } 92 }
93 93
94 bool WebUIBrowserTest::RunJavascriptTest(const std::string& test_name, 94 bool WebUIBrowserTest::RunJavascriptTest(const std::string& test_name,
95 const Value& arg) { 95 const Value& arg) {
96 ConstValueVector args; 96 ConstValueVector args;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 const ConstValueVector& test_arguments) { 139 const ConstValueVector& test_arguments) {
140 return RunJavascriptUsingHandler(test_name, test_arguments, true, true, NULL); 140 return RunJavascriptUsingHandler(test_name, test_arguments, true, true, NULL);
141 } 141 }
142 142
143 void WebUIBrowserTest::PreLoadJavascriptLibraries( 143 void WebUIBrowserTest::PreLoadJavascriptLibraries(
144 const std::string& preload_test_fixture, 144 const std::string& preload_test_fixture,
145 const std::string& preload_test_name, 145 const std::string& preload_test_name,
146 RenderViewHost* preload_host) { 146 RenderViewHost* preload_host) {
147 ASSERT_FALSE(libraries_preloaded_); 147 ASSERT_FALSE(libraries_preloaded_);
148 ConstValueVector args; 148 ConstValueVector args;
149 args.push_back(Value::CreateStringValue(preload_test_fixture)); 149 args.push_back(base::StringValue::New(preload_test_fixture));
150 args.push_back(Value::CreateStringValue(preload_test_name)); 150 args.push_back(base::StringValue::New(preload_test_name));
151 RunJavascriptUsingHandler( 151 RunJavascriptUsingHandler(
152 "preloadJavascriptLibraries", args, false, false, preload_host); 152 "preloadJavascriptLibraries", args, false, false, preload_host);
153 libraries_preloaded_ = true; 153 libraries_preloaded_ = true;
154 } 154 }
155 155
156 void WebUIBrowserTest::BrowsePreload(const GURL& browse_to, 156 void WebUIBrowserTest::BrowsePreload(const GURL& browse_to,
157 const std::string& preload_test_fixture, 157 const std::string& preload_test_fixture,
158 const std::string& preload_test_name) { 158 const std::string& preload_test_name) {
159 // Remember for callback OnJsInjectionReady(). 159 // Remember for callback OnJsInjectionReady().
160 preload_test_fixture_ = preload_test_fixture; 160 preload_test_fixture_ = preload_test_fixture;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 utf8_content.append(";\n"); 248 utf8_content.append(";\n");
249 } 249 }
250 content->append(UTF8ToUTF16(utf8_content)); 250 content->append(UTF8ToUTF16(utf8_content));
251 } 251 }
252 252
253 string16 WebUIBrowserTest::BuildRunTestJSCall( 253 string16 WebUIBrowserTest::BuildRunTestJSCall(
254 bool is_async, 254 bool is_async,
255 const std::string& function_name, 255 const std::string& function_name,
256 const WebUIBrowserTest::ConstValueVector& test_func_args) { 256 const WebUIBrowserTest::ConstValueVector& test_func_args) {
257 WebUIBrowserTest::ConstValueVector arguments; 257 WebUIBrowserTest::ConstValueVector arguments;
258 base::FundamentalValue is_async_arg(is_async); 258 base::BooleanValue is_async_arg(is_async);
259 arguments.push_back(&is_async_arg); 259 arguments.push_back(&is_async_arg);
260 StringValue function_name_arg(function_name); 260 StringValue function_name_arg(function_name);
261 arguments.push_back(&function_name_arg); 261 arguments.push_back(&function_name_arg);
262 ListValue baked_argument_list; 262 ListValue baked_argument_list;
263 WebUIBrowserTest::ConstValueVector::const_iterator arguments_iterator; 263 WebUIBrowserTest::ConstValueVector::const_iterator arguments_iterator;
264 for (arguments_iterator = test_func_args.begin(); 264 for (arguments_iterator = test_func_args.begin();
265 arguments_iterator != test_func_args.end(); 265 arguments_iterator != test_func_args.end();
266 ++arguments_iterator) { 266 ++arguments_iterator) {
267 baked_argument_list.Append((Value *)*arguments_iterator); 267 baked_argument_list.Append((Value *)*arguments_iterator);
268 } 268 }
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 class WebUIBrowserAsyncTest : public WebUIBrowserTest { 383 class WebUIBrowserAsyncTest : public WebUIBrowserTest {
384 public: 384 public:
385 // Calls the testDone() function from test_api.js 385 // Calls the testDone() function from test_api.js
386 void TestDone() { 386 void TestDone() {
387 RunJavascriptFunction("testDone"); 387 RunJavascriptFunction("testDone");
388 } 388 }
389 389
390 // Starts a failing test. 390 // Starts a failing test.
391 void RunTestFailsAssert() { 391 void RunTestFailsAssert() {
392 RunJavascriptFunction("runAsync", 392 RunJavascriptFunction("runAsync",
393 *Value::CreateStringValue("testFailsAssert")); 393 *base::StringValue::New("testFailsAssert"));
394 } 394 }
395 395
396 // Starts a passing test. 396 // Starts a passing test.
397 void RunTestPasses() { 397 void RunTestPasses() {
398 RunJavascriptFunction("runAsync", *Value::CreateStringValue("testPasses")); 398 RunJavascriptFunction("runAsync", *base::StringValue::New("testPasses"));
399 } 399 }
400 400
401 protected: 401 protected:
402 WebUIBrowserAsyncTest() {} 402 WebUIBrowserAsyncTest() {}
403 403
404 static const char kDummyURL[]; 404 static const char kDummyURL[];
405 405
406 // Class to synchronize asynchronous javascript activity with the tests. 406 // Class to synchronize asynchronous javascript activity with the tests.
407 class AsyncWebUIMessageHandler : public WebUIMessageHandler { 407 class AsyncWebUIMessageHandler : public WebUIMessageHandler {
408 public: 408 public:
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 // message). (Sync version). 486 // message). (Sync version).
487 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestSyncOkTestFail) { 487 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestSyncOkTestFail) {
488 ASSERT_FALSE(RunJavascriptTest("testFailsAssert")); 488 ASSERT_FALSE(RunJavascriptTest("testFailsAssert"));
489 } 489 }
490 490
491 // Test that assertions fail immediately after assertion fails (no testContinues 491 // Test that assertions fail immediately after assertion fails (no testContinues
492 // message). (Async version). 492 // message). (Async version).
493 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncFailsAssert) { 493 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncFailsAssert) {
494 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_)); 494 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_));
495 ASSERT_FALSE(RunJavascriptAsyncTest( 495 ASSERT_FALSE(RunJavascriptAsyncTest(
496 "startAsyncTest", *Value::CreateStringValue("testFailsAssert"))); 496 "startAsyncTest", *base::StringValue::New("testFailsAssert")));
497 } 497 }
498 498
499 // Test that expectations continue the function, but fail the test. 499 // Test that expectations continue the function, but fail the test.
500 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncFailsExpect) { 500 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncFailsExpect) {
501 ::testing::InSequence s; 501 ::testing::InSequence s;
502 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 502 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
503 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_)); 503 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_));
504 ASSERT_FALSE(RunJavascriptAsyncTest( 504 ASSERT_FALSE(RunJavascriptAsyncTest(
505 "startAsyncTest", *Value::CreateStringValue("testFailsExpect"))); 505 "startAsyncTest", *base::StringValue::New("testFailsExpect")));
506 } 506 }
507 507
508 // Test that test continues and passes. (Sync version). 508 // Test that test continues and passes. (Sync version).
509 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestSyncPasses) { 509 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestSyncPasses) {
510 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 510 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
511 ASSERT_TRUE(RunJavascriptTest("testPasses")); 511 ASSERT_TRUE(RunJavascriptTest("testPasses"));
512 } 512 }
513 513
514 // Test that test continues and passes. (Async version). 514 // Test that test continues and passes. (Async version).
515 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPasses) { 515 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPasses) {
516 ::testing::InSequence s; 516 ::testing::InSequence s;
517 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 517 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
518 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_)) 518 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_))
519 .WillOnce(::testing::InvokeWithoutArgs( 519 .WillOnce(::testing::InvokeWithoutArgs(
520 this, &WebUIBrowserAsyncTest::TestDone)); 520 this, &WebUIBrowserAsyncTest::TestDone));
521 ASSERT_TRUE(RunJavascriptAsyncTest( 521 ASSERT_TRUE(RunJavascriptAsyncTest(
522 "startAsyncTest", *Value::CreateStringValue("testPasses"))); 522 "startAsyncTest", *base::StringValue::New("testPasses")));
523 } 523 }
524 524
525 // Test that two tests pass. 525 // Test that two tests pass.
526 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPassPass) { 526 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPassPass) {
527 ::testing::InSequence s; 527 ::testing::InSequence s;
528 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 528 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
529 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_)) 529 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_))
530 .WillOnce(::testing::InvokeWithoutArgs( 530 .WillOnce(::testing::InvokeWithoutArgs(
531 this, &WebUIBrowserAsyncTest::RunTestPasses)); 531 this, &WebUIBrowserAsyncTest::RunTestPasses));
532 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 532 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
533 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_)) 533 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_))
534 .WillOnce(::testing::InvokeWithoutArgs( 534 .WillOnce(::testing::InvokeWithoutArgs(
535 this, &WebUIBrowserAsyncTest::TestDone)); 535 this, &WebUIBrowserAsyncTest::TestDone));
536 ASSERT_TRUE(RunJavascriptAsyncTest( 536 ASSERT_TRUE(RunJavascriptAsyncTest(
537 "startAsyncTest", *Value::CreateStringValue("testPasses"))); 537 "startAsyncTest", *base::StringValue::New("testPasses")));
538 } 538 }
539 539
540 // Test that first test passes; second fails. 540 // Test that first test passes; second fails.
541 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPassThenFail) { 541 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPassThenFail) {
542 ::testing::InSequence s; 542 ::testing::InSequence s;
543 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 543 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
544 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_)) 544 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_))
545 .WillOnce(::testing::InvokeWithoutArgs( 545 .WillOnce(::testing::InvokeWithoutArgs(
546 this, &WebUIBrowserAsyncTest::RunTestFailsAssert)); 546 this, &WebUIBrowserAsyncTest::RunTestFailsAssert));
547 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_)); 547 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_));
548 ASSERT_FALSE(RunJavascriptAsyncTest( 548 ASSERT_FALSE(RunJavascriptAsyncTest(
549 "startAsyncTest", *Value::CreateStringValue("testPasses"))); 549 "startAsyncTest", *base::StringValue::New("testPasses")));
550 } 550 }
551 551
552 // Test that testDone() with failure first then sync pass still fails. 552 // Test that testDone() with failure first then sync pass still fails.
553 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncDoneFailFirstSyncPass) { 553 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncDoneFailFirstSyncPass) {
554 ::testing::InSequence s; 554 ::testing::InSequence s;
555 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 555 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
556 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_)); 556 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_));
557 557
558 // Call runAsync directly instead of deferring through startAsyncTest. It will 558 // Call runAsync directly instead of deferring through startAsyncTest. It will
559 // call testDone() on failure, then return. 559 // call testDone() on failure, then return.
560 ASSERT_FALSE(RunJavascriptAsyncTest( 560 ASSERT_FALSE(RunJavascriptAsyncTest(
561 "runAsync", *Value::CreateStringValue("testAsyncDoneFailFirstSyncPass"))); 561 "runAsync", *base::StringValue::New("testAsyncDoneFailFirstSyncPass")));
562 } 562 }
563 563
564 // Test that calling testDone during RunJavascriptAsyncTest still completes 564 // Test that calling testDone during RunJavascriptAsyncTest still completes
565 // when waiting for async result. This is similar to the previous test, but call 565 // when waiting for async result. This is similar to the previous test, but call
566 // testDone directly and expect pass result. 566 // testDone directly and expect pass result.
567 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestTestDoneEarlyPassesAsync) { 567 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestTestDoneEarlyPassesAsync) {
568 ASSERT_TRUE(RunJavascriptAsyncTest("testDone")); 568 ASSERT_TRUE(RunJavascriptAsyncTest("testDone"));
569 } 569 }
570 570
571 // Test that calling testDone during RunJavascriptTest still completes when 571 // Test that calling testDone during RunJavascriptTest still completes when
572 // waiting for async result. 572 // waiting for async result.
573 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestTestDoneEarlyPasses) { 573 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestTestDoneEarlyPasses) {
574 ASSERT_TRUE(RunJavascriptTest("testDone")); 574 ASSERT_TRUE(RunJavascriptTest("testDone"));
575 } 575 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/tracing_ui.cc ('k') | chrome/common/common_param_traits_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698