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

Side by Side Diff: chrome/browser/sync/profile_sync_service_unittest.cc

Issue 7190001: [Sync] Split DirectoryChangeListener for thread-safety (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix copyright Created 9 years, 6 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
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 4
5 #include "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/net/gaia/token_service.h" 9 #include "chrome/browser/net/gaia/token_service.h"
10 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h" 10 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h"
(...skipping 13 matching lines...) Expand all
24 24
25 // TODO(akalin): Add tests here that exercise the whole 25 // TODO(akalin): Add tests here that exercise the whole
26 // ProfileSyncService/SyncBackendHost stack while mocking out as 26 // ProfileSyncService/SyncBackendHost stack while mocking out as
27 // little as possible. 27 // little as possible.
28 28
29 namespace browser_sync { 29 namespace browser_sync {
30 30
31 namespace { 31 namespace {
32 32
33 using testing::_; 33 using testing::_;
34 using testing::AnyNumber;
34 using testing::AtLeast; 35 using testing::AtLeast;
35 using testing::AtMost; 36 using testing::AtMost;
36 using testing::Return; 37 using testing::Return;
37 using testing::StrictMock; 38 using testing::StrictMock;
38 39
39 class ProfileSyncServiceTest : public testing::Test { 40 class ProfileSyncServiceTest : public testing::Test {
40 protected: 41 protected:
41 ProfileSyncServiceTest() 42 ProfileSyncServiceTest()
42 : ui_thread_(BrowserThread::UI, &ui_loop_), 43 : ui_thread_(BrowserThread::UI, &ui_loop_),
43 io_thread_(BrowserThread::IO) {} 44 io_thread_(BrowserThread::IO) {}
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 js_backend->RemoveHandler(&event_handler); 166 js_backend->RemoveHandler(&event_handler);
166 EXPECT_EQ(NULL, test_backend->GetJsBackend()->GetParentJsEventRouter()); 167 EXPECT_EQ(NULL, test_backend->GetJsBackend()->GetParentJsEventRouter());
167 } 168 }
168 169
169 TEST_F(ProfileSyncServiceTest, 170 TEST_F(ProfileSyncServiceTest,
170 JsFrontendHandlersDelayedBackendInitialization) { 171 JsFrontendHandlersDelayedBackendInitialization) {
171 StartSyncServiceAndSetInitialSyncEnded(true, false, false, true); 172 StartSyncServiceAndSetInitialSyncEnded(true, false, false, true);
172 173
173 StrictMock<MockJsEventHandler> event_handler; 174 StrictMock<MockJsEventHandler> event_handler;
174 EXPECT_CALL(event_handler, 175 EXPECT_CALL(event_handler,
176 HandleJsEvent("onTransactionStart", _)).Times(AnyNumber());
177 EXPECT_CALL(event_handler,
178 HandleJsEvent("onTransactionEnd", _)).Times(AnyNumber());
179 EXPECT_CALL(event_handler,
175 HandleJsEvent("onServiceStateChanged", 180 HandleJsEvent("onServiceStateChanged",
176 HasDetails(JsEventDetails()))).Times(AtLeast(3)); 181 HasDetails(JsEventDetails()))).Times(AtLeast(3));
177 // For some reason, these events may or may not fire. 182 // For some reason, these events may or may not fire.
178 // 183 //
179 // TODO(akalin): Figure out exactly why there's non-determinism 184 // TODO(akalin): Figure out exactly why there's non-determinism
180 // here, and if possible remove it. 185 // here, and if possible remove it.
181 EXPECT_CALL(event_handler, HandleJsEvent("onChangesApplied", _)) 186 EXPECT_CALL(event_handler, HandleJsEvent("onChangesApplied", _))
182 .Times(AtMost(1)); 187 .Times(AtMost(1));
183 EXPECT_CALL(event_handler, HandleJsEvent("onChangesComplete", _)) 188 EXPECT_CALL(event_handler, HandleJsEvent("onChangesComplete", _))
184 .Times(AtMost(1)); 189 .Times(AtMost(1));
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 268
264 // Never replied to. 269 // Never replied to.
265 js_backend->ProcessMessage("notRepliedTo", args3, &event_handler); 270 js_backend->ProcessMessage("notRepliedTo", args3, &event_handler);
266 } 271 }
267 272
268 TEST_F(ProfileSyncServiceTest, 273 TEST_F(ProfileSyncServiceTest,
269 JsFrontendProcessMessageBasicDelayedBackendInitialization) { 274 JsFrontendProcessMessageBasicDelayedBackendInitialization) {
270 StartSyncServiceAndSetInitialSyncEnded(true, false, false, true); 275 StartSyncServiceAndSetInitialSyncEnded(true, false, false, true);
271 276
272 StrictMock<MockJsEventHandler> event_handler; 277 StrictMock<MockJsEventHandler> event_handler;
278 EXPECT_CALL(event_handler,
279 HandleJsEvent("onTransactionStart", _)).Times(AnyNumber());
280 EXPECT_CALL(event_handler,
281 HandleJsEvent("onTransactionEnd", _)).Times(AnyNumber());
273 // For some reason, these events may or may not fire. 282 // For some reason, these events may or may not fire.
274 EXPECT_CALL(event_handler, HandleJsEvent("onChangesApplied", _)) 283 EXPECT_CALL(event_handler, HandleJsEvent("onChangesApplied", _))
275 .Times(AtMost(1)); 284 .Times(AtMost(1));
276 EXPECT_CALL(event_handler, HandleJsEvent("onChangesComplete", _)) 285 EXPECT_CALL(event_handler, HandleJsEvent("onChangesComplete", _))
277 .Times(AtMost(1)); 286 .Times(AtMost(1));
278 EXPECT_CALL(event_handler, HandleJsEvent("onNotificationStateChange", _)) 287 EXPECT_CALL(event_handler, HandleJsEvent("onNotificationStateChange", _))
279 .Times(AtMost(1)); 288 .Times(AtMost(1));
280 289
281 ListValue arg_list1; 290 ListValue arg_list1;
282 arg_list1.Append(Value::CreateBooleanValue(true)); 291 arg_list1.Append(Value::CreateBooleanValue(true));
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 // This will still exist, but the text should have changed. 380 // This will still exist, but the text should have changed.
372 ASSERT_TRUE(file_util::PathExists(sync_file2)); 381 ASSERT_TRUE(file_util::PathExists(sync_file2));
373 std::string file2text; 382 std::string file2text;
374 ASSERT_TRUE(file_util::ReadFileToString(sync_file2, &file2text)); 383 ASSERT_TRUE(file_util::ReadFileToString(sync_file2, &file2text));
375 ASSERT_NE(file2text.compare(nonsense2), 0); 384 ASSERT_NE(file2text.compare(nonsense2), 0);
376 } 385 }
377 386
378 } // namespace 387 } // namespace
379 388
380 } // namespace browser_sync 389 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service_autofill_unittest.cc ('k') | chrome/browser/sync/sessions/sync_session_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698