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

Side by Side Diff: chrome/test/base/web_ui_browser_test_browsertest.cc

Issue 2664753002: Remove base::StringValue (Closed)
Patch Set: Rebase Created 3 years, 9 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
« no previous file with comments | « chrome/test/base/web_ui_browser_test.cc ('k') | chrome/test/chromedriver/alert_commands.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 // Tests that the async framework works. 83 // Tests that the async framework works.
84 class WebUIBrowserAsyncTest : public WebUIBrowserTest { 84 class WebUIBrowserAsyncTest : public WebUIBrowserTest {
85 public: 85 public:
86 // Calls the testDone() function from test_api.js 86 // Calls the testDone() function from test_api.js
87 void TestDone() { 87 void TestDone() {
88 RunJavascriptFunction("testDone"); 88 RunJavascriptFunction("testDone");
89 } 89 }
90 90
91 // Starts a failing test. 91 // Starts a failing test.
92 void RunTestFailsAssert() { 92 void RunTestFailsAssert() {
93 RunJavascriptFunction("runAsync", new base::StringValue("testFailsAssert")); 93 RunJavascriptFunction("runAsync", new base::Value("testFailsAssert"));
94 } 94 }
95 95
96 // Starts a passing test. 96 // Starts a passing test.
97 void RunTestPasses() { 97 void RunTestPasses() {
98 RunJavascriptFunction("runAsync", new base::StringValue("testPasses")); 98 RunJavascriptFunction("runAsync", new base::Value("testPasses"));
99 } 99 }
100 100
101 protected: 101 protected:
102 WebUIBrowserAsyncTest() {} 102 WebUIBrowserAsyncTest() {}
103 103
104 // Class to synchronize asynchronous javascript activity with the tests. 104 // Class to synchronize asynchronous javascript activity with the tests.
105 class AsyncWebUIMessageHandler : public WebUIMessageHandler { 105 class AsyncWebUIMessageHandler : public WebUIMessageHandler {
106 public: 106 public:
107 AsyncWebUIMessageHandler() {} 107 AsyncWebUIMessageHandler() {}
108 108
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 // Test that assertions fail immediately after assertion fails (no testContinues 158 // Test that assertions fail immediately after assertion fails (no testContinues
159 // message). (Sync version). 159 // message). (Sync version).
160 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestSyncOkTestFail) { 160 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestSyncOkTestFail) {
161 ASSERT_FALSE(RunJavascriptTest("testFailsAssert")); 161 ASSERT_FALSE(RunJavascriptTest("testFailsAssert"));
162 } 162 }
163 163
164 // Test that assertions fail immediately after assertion fails (no testContinues 164 // Test that assertions fail immediately after assertion fails (no testContinues
165 // message). (Async version). 165 // message). (Async version).
166 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncFailsAssert) { 166 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncFailsAssert) {
167 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_)); 167 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_));
168 ASSERT_FALSE(RunJavascriptAsyncTest( 168 ASSERT_FALSE(RunJavascriptAsyncTest("startAsyncTest",
169 "startAsyncTest", new base::StringValue("testFailsAssert"))); 169 new base::Value("testFailsAssert")));
170 } 170 }
171 171
172 // Test that expectations continue the function, but fail the test. 172 // Test that expectations continue the function, but fail the test.
173 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncFailsExpect) { 173 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncFailsExpect) {
174 ::testing::InSequence s; 174 ::testing::InSequence s;
175 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 175 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
176 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_)); 176 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_));
177 ASSERT_FALSE(RunJavascriptAsyncTest( 177 ASSERT_FALSE(RunJavascriptAsyncTest("startAsyncTest",
178 "startAsyncTest", new base::StringValue("testFailsExpect"))); 178 new base::Value("testFailsExpect")));
179 } 179 }
180 180
181 // Test that test continues and passes. (Sync version). 181 // Test that test continues and passes. (Sync version).
182 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestSyncPasses) { 182 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestSyncPasses) {
183 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 183 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
184 ASSERT_TRUE(RunJavascriptTest("testPasses")); 184 ASSERT_TRUE(RunJavascriptTest("testPasses"));
185 } 185 }
186 186
187 // Test that test continues and passes. (Async version). 187 // Test that test continues and passes. (Async version).
188 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPasses) { 188 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPasses) {
189 ::testing::InSequence s; 189 ::testing::InSequence s;
190 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 190 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
191 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_)) 191 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_))
192 .WillOnce(::testing::InvokeWithoutArgs( 192 .WillOnce(::testing::InvokeWithoutArgs(
193 this, &WebUIBrowserAsyncTest::TestDone)); 193 this, &WebUIBrowserAsyncTest::TestDone));
194 ASSERT_TRUE(RunJavascriptAsyncTest( 194 ASSERT_TRUE(
195 "startAsyncTest", new base::StringValue("testPasses"))); 195 RunJavascriptAsyncTest("startAsyncTest", new base::Value("testPasses")));
196 } 196 }
197 197
198 // Test that two tests pass. 198 // Test that two tests pass.
199 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPassPass) { 199 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPassPass) {
200 ::testing::InSequence s; 200 ::testing::InSequence s;
201 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 201 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
202 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_)) 202 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_))
203 .WillOnce(::testing::InvokeWithoutArgs( 203 .WillOnce(::testing::InvokeWithoutArgs(
204 this, &WebUIBrowserAsyncTest::RunTestPasses)); 204 this, &WebUIBrowserAsyncTest::RunTestPasses));
205 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 205 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
206 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_)) 206 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_))
207 .WillOnce(::testing::InvokeWithoutArgs( 207 .WillOnce(::testing::InvokeWithoutArgs(
208 this, &WebUIBrowserAsyncTest::TestDone)); 208 this, &WebUIBrowserAsyncTest::TestDone));
209 ASSERT_TRUE(RunJavascriptAsyncTest( 209 ASSERT_TRUE(
210 "startAsyncTest", new base::StringValue("testPasses"))); 210 RunJavascriptAsyncTest("startAsyncTest", new base::Value("testPasses")));
211 } 211 }
212 212
213 // Test that first test passes; second fails. 213 // Test that first test passes; second fails.
214 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPassThenFail) { 214 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncPassThenFail) {
215 ::testing::InSequence s; 215 ::testing::InSequence s;
216 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 216 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
217 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_)) 217 EXPECT_CALL(message_handler_, HandleTestPasses(::testing::_))
218 .WillOnce(::testing::InvokeWithoutArgs( 218 .WillOnce(::testing::InvokeWithoutArgs(
219 this, &WebUIBrowserAsyncTest::RunTestFailsAssert)); 219 this, &WebUIBrowserAsyncTest::RunTestFailsAssert));
220 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_)); 220 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_));
221 ASSERT_FALSE(RunJavascriptAsyncTest( 221 ASSERT_FALSE(
222 "startAsyncTest", new base::StringValue("testPasses"))); 222 RunJavascriptAsyncTest("startAsyncTest", new base::Value("testPasses")));
223 } 223 }
224 224
225 // Test that testDone() with failure first then sync pass still fails. 225 // Test that testDone() with failure first then sync pass still fails.
226 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncDoneFailFirstSyncPass) { 226 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestAsyncDoneFailFirstSyncPass) {
227 ::testing::InSequence s; 227 ::testing::InSequence s;
228 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_)); 228 EXPECT_CALL(message_handler_, HandleTestContinues(::testing::_));
229 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_)); 229 EXPECT_CALL(message_handler_, HandleTestFails(::testing::_));
230 230
231 // Call runAsync directly instead of deferring through startAsyncTest. It will 231 // Call runAsync directly instead of deferring through startAsyncTest. It will
232 // call testDone() on failure, then return. 232 // call testDone() on failure, then return.
233 ASSERT_FALSE(RunJavascriptAsyncTest( 233 ASSERT_FALSE(RunJavascriptAsyncTest(
234 "runAsync", new base::StringValue("testAsyncDoneFailFirstSyncPass"))); 234 "runAsync", new base::Value("testAsyncDoneFailFirstSyncPass")));
235 } 235 }
236 236
237 // Test that calling testDone during RunJavascriptAsyncTest still completes 237 // Test that calling testDone during RunJavascriptAsyncTest still completes
238 // when waiting for async result. This is similar to the previous test, but call 238 // when waiting for async result. This is similar to the previous test, but call
239 // testDone directly and expect pass result. 239 // testDone directly and expect pass result.
240 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestTestDoneEarlyPassesAsync) { 240 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestTestDoneEarlyPassesAsync) {
241 ASSERT_TRUE(RunJavascriptAsyncTest("testDone")); 241 ASSERT_TRUE(RunJavascriptAsyncTest("testDone"));
242 } 242 }
243 243
244 // Test that calling testDone during RunJavascriptTest still completes when 244 // Test that calling testDone during RunJavascriptTest still completes when
245 // waiting for async result. 245 // waiting for async result.
246 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestTestDoneEarlyPasses) { 246 IN_PROC_BROWSER_TEST_F(WebUIBrowserAsyncTest, TestTestDoneEarlyPasses) {
247 ASSERT_TRUE(RunJavascriptTest("testDone")); 247 ASSERT_TRUE(RunJavascriptTest("testDone"));
248 } 248 }
OLDNEW
« no previous file with comments | « chrome/test/base/web_ui_browser_test.cc ('k') | chrome/test/chromedriver/alert_commands.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698