OLD | NEW |
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 // TODO(akalin): This file is basically just a unit test for | 5 // TODO(akalin): This file is basically just a unit test for |
6 // BookmarkChangeProcessor. Write unit tests for | 6 // BookmarkChangeProcessor. Write unit tests for |
7 // BookmarkModelAssociator separately. | 7 // BookmarkModelAssociator separately. |
8 | 8 |
9 #include <stack> | 9 #include <stack> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/command_line.h" | |
13 #include "base/file_path.h" | 12 #include "base/file_path.h" |
14 #include "base/file_util.h" | 13 #include "base/file_util.h" |
15 #include "base/location.h" | 14 #include "base/location.h" |
16 #include "base/memory/scoped_ptr.h" | 15 #include "base/memory/scoped_ptr.h" |
17 #include "base/message_loop.h" | 16 #include "base/message_loop.h" |
18 #include "base/string16.h" | 17 #include "base/string16.h" |
19 #include "base/string_number_conversions.h" | 18 #include "base/string_number_conversions.h" |
20 #include "base/string_util.h" | 19 #include "base/string_util.h" |
21 #include "base/utf_string_conversions.h" | 20 #include "base/utf_string_conversions.h" |
22 #include "chrome/browser/bookmarks/bookmark_model.h" | 21 #include "chrome/browser/bookmarks/bookmark_model.h" |
23 #include "chrome/browser/sync/abstract_profile_sync_service_test.h" | 22 #include "chrome/browser/sync/abstract_profile_sync_service_test.h" |
24 #include "chrome/browser/sync/api/sync_error.h" | 23 #include "chrome/browser/sync/api/sync_error.h" |
25 #include "chrome/browser/sync/glue/bookmark_change_processor.h" | 24 #include "chrome/browser/sync/glue/bookmark_change_processor.h" |
26 #include "chrome/browser/sync/glue/bookmark_model_associator.h" | 25 #include "chrome/browser/sync/glue/bookmark_model_associator.h" |
27 #include "chrome/browser/sync/internal_api/change_record.h" | 26 #include "chrome/browser/sync/internal_api/change_record.h" |
28 #include "chrome/browser/sync/internal_api/read_node.h" | 27 #include "chrome/browser/sync/internal_api/read_node.h" |
29 #include "chrome/browser/sync/internal_api/read_transaction.h" | 28 #include "chrome/browser/sync/internal_api/read_transaction.h" |
30 #include "chrome/browser/sync/internal_api/write_node.h" | 29 #include "chrome/browser/sync/internal_api/write_node.h" |
31 #include "chrome/browser/sync/internal_api/write_transaction.h" | 30 #include "chrome/browser/sync/internal_api/write_transaction.h" |
32 #include "chrome/browser/sync/syncable/directory_manager.h" | 31 #include "chrome/browser/sync/syncable/directory_manager.h" |
33 #include "chrome/browser/sync/test/engine/test_id_factory.h" | 32 #include "chrome/browser/sync/test/engine/test_id_factory.h" |
34 #include "chrome/browser/sync/test/engine/test_user_share.h" | 33 #include "chrome/browser/sync/test/engine/test_user_share.h" |
35 #include "chrome/common/chrome_switches.h" | 34 #include "chrome/common/chrome_switches.h" |
| 35 #include "chrome/test/base/scoped_command_line_override.h" |
36 #include "chrome/test/base/testing_profile.h" | 36 #include "chrome/test/base/testing_profile.h" |
37 #include "content/test/test_browser_thread.h" | 37 #include "content/test/test_browser_thread.h" |
38 #include "testing/gmock/include/gmock/gmock.h" | 38 #include "testing/gmock/include/gmock/gmock.h" |
39 #include "testing/gtest/include/gtest/gtest.h" | 39 #include "testing/gtest/include/gtest/gtest.h" |
40 | 40 |
41 namespace browser_sync { | 41 namespace browser_sync { |
42 | 42 |
43 using testing::_; | 43 using testing::_; |
44 using testing::InvokeWithoutArgs; | 44 using testing::InvokeWithoutArgs; |
45 using testing::Mock; | 45 using testing::Mock; |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 | 280 |
281 class ProfileSyncServiceBookmarkTest : public testing::Test { | 281 class ProfileSyncServiceBookmarkTest : public testing::Test { |
282 protected: | 282 protected: |
283 enum LoadOption { LOAD_FROM_STORAGE, DELETE_EXISTING_STORAGE }; | 283 enum LoadOption { LOAD_FROM_STORAGE, DELETE_EXISTING_STORAGE }; |
284 enum SaveOption { SAVE_TO_STORAGE, DONT_SAVE_TO_STORAGE }; | 284 enum SaveOption { SAVE_TO_STORAGE, DONT_SAVE_TO_STORAGE }; |
285 | 285 |
286 ProfileSyncServiceBookmarkTest() | 286 ProfileSyncServiceBookmarkTest() |
287 : ui_thread_(BrowserThread::UI, &message_loop_), | 287 : ui_thread_(BrowserThread::UI, &message_loop_), |
288 file_thread_(BrowserThread::FILE, &message_loop_), | 288 file_thread_(BrowserThread::FILE, &message_loop_), |
289 model_(NULL), | 289 model_(NULL), |
290 original_command_line_(*CommandLine::ForCurrentProcess()) { | 290 override_(switches::kEnableSyncedBookmarksFolder) { |
291 } | 291 } |
292 | 292 |
293 virtual ~ProfileSyncServiceBookmarkTest() { | 293 virtual ~ProfileSyncServiceBookmarkTest() { |
294 StopSync(); | 294 StopSync(); |
295 UnloadBookmarkModel(); | 295 UnloadBookmarkModel(); |
296 } | 296 } |
297 | 297 |
298 virtual void SetUp() { | 298 virtual void SetUp() { |
299 test_user_share_.SetUp(); | 299 test_user_share_.SetUp(); |
300 CommandLine::ForCurrentProcess()->AppendSwitch( | |
301 switches::kEnableSyncedBookmarksFolder); | |
302 } | 300 } |
303 | 301 |
304 virtual void TearDown() { | 302 virtual void TearDown() { |
305 test_user_share_.TearDown(); | 303 test_user_share_.TearDown(); |
306 *CommandLine::ForCurrentProcess() = original_command_line_; | |
307 } | 304 } |
308 | 305 |
309 // Load (or re-load) the bookmark model. |load| controls use of the | 306 // Load (or re-load) the bookmark model. |load| controls use of the |
310 // bookmarks file on disk. |save| controls whether the newly loaded | 307 // bookmarks file on disk. |save| controls whether the newly loaded |
311 // bookmark model will write out a bookmark file as it goes. | 308 // bookmark model will write out a bookmark file as it goes. |
312 void LoadBookmarkModel(LoadOption load, SaveOption save) { | 309 void LoadBookmarkModel(LoadOption load, SaveOption save) { |
313 bool delete_bookmarks = load == DELETE_EXISTING_STORAGE; | 310 bool delete_bookmarks = load == DELETE_EXISTING_STORAGE; |
314 profile_.CreateBookmarkModel(delete_bookmarks); | 311 profile_.CreateBookmarkModel(delete_bookmarks); |
315 model_ = profile_.GetBookmarkModel(); | 312 model_ = profile_.GetBookmarkModel(); |
316 // Wait for the bookmarks model to load. | 313 // Wait for the bookmarks model to load. |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 MessageLoop message_loop_; | 507 MessageLoop message_loop_; |
511 content::TestBrowserThread ui_thread_; | 508 content::TestBrowserThread ui_thread_; |
512 // Needed by |model_|. | 509 // Needed by |model_|. |
513 content::TestBrowserThread file_thread_; | 510 content::TestBrowserThread file_thread_; |
514 | 511 |
515 TestingProfile profile_; | 512 TestingProfile profile_; |
516 scoped_ptr<TestBookmarkModelAssociator> model_associator_; | 513 scoped_ptr<TestBookmarkModelAssociator> model_associator_; |
517 | 514 |
518 protected: | 515 protected: |
519 BookmarkModel* model_; | 516 BookmarkModel* model_; |
520 CommandLine original_command_line_; | 517 ScopedCommandLineOverride override_; |
521 TestUserShare test_user_share_; | 518 TestUserShare test_user_share_; |
522 scoped_ptr<BookmarkChangeProcessor> change_processor_; | 519 scoped_ptr<BookmarkChangeProcessor> change_processor_; |
523 StrictMock<MockUnrecoverableErrorHandler> mock_unrecoverable_error_handler_; | 520 StrictMock<MockUnrecoverableErrorHandler> mock_unrecoverable_error_handler_; |
524 }; | 521 }; |
525 | 522 |
526 TEST_F(ProfileSyncServiceBookmarkTest, InitialState) { | 523 TEST_F(ProfileSyncServiceBookmarkTest, InitialState) { |
527 LoadBookmarkModel(DELETE_EXISTING_STORAGE, DONT_SAVE_TO_STORAGE); | 524 LoadBookmarkModel(DELETE_EXISTING_STORAGE, DONT_SAVE_TO_STORAGE); |
528 StartSync(); | 525 StartSync(); |
529 | 526 |
530 EXPECT_TRUE(other_bookmarks_id()); | 527 EXPECT_TRUE(other_bookmarks_id()); |
(...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1432 // Make sure we're back in sync. In real life, the user would need | 1429 // Make sure we're back in sync. In real life, the user would need |
1433 // to reauthenticate before this happens, but in the test, authentication | 1430 // to reauthenticate before this happens, but in the test, authentication |
1434 // is sidestepped. | 1431 // is sidestepped. |
1435 ExpectBookmarkModelMatchesTestData(); | 1432 ExpectBookmarkModelMatchesTestData(); |
1436 ExpectModelMatch(); | 1433 ExpectModelMatch(); |
1437 } | 1434 } |
1438 | 1435 |
1439 } // namespace | 1436 } // namespace |
1440 | 1437 |
1441 } // namespace browser_sync | 1438 } // namespace browser_sync |
OLD | NEW |