Index: chrome/browser/sync/profile_sync_service_unittest.cc |
diff --git a/chrome/browser/sync/profile_sync_service_unittest.cc b/chrome/browser/sync/profile_sync_service_unittest.cc |
index 44361a292e81790ecb4ac889dc48e86c7e3e5ac0..c97f86b1d3580b18f5b94117baf3eb75a6428b69 100644 |
--- a/chrome/browser/sync/profile_sync_service_unittest.cc |
+++ b/chrome/browser/sync/profile_sync_service_unittest.cc |
@@ -7,6 +7,7 @@ |
#include "base/compiler_specific.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/run_loop.h" |
+#include "base/strings/string_number_conversions.h" |
#include "base/strings/utf_string_conversions.h" |
#include "base/values.h" |
#include "chrome/browser/invalidation/fake_invalidation_service.h" |
@@ -587,6 +588,30 @@ TEST_F(ProfileSyncServiceTest, RollbackThenBackup) { |
EXPECT_FALSE(delete_dir_param[1]); |
EXPECT_TRUE(delete_dir_param[2]); |
} |
+ |
+TEST_F(ProfileSyncServiceTest, StartNewBackupDbOnSettingsReset) { |
+ CreateServiceWithoutSignIn(); |
+ ExpectDataTypeManagerCreation(1); |
+ std::vector<bool> delete_dir_param; |
+ ExpectSyncBackendHostCreationCollectDeleteDir(1, &delete_dir_param); |
+ Initialize(); |
+ EXPECT_EQ(ProfileSyncService::IDLE, service()->backend_mode()); |
+ |
+ // Set reset time to pretend settings reset happened. |
+ profile()->GetPrefs()->SetString( |
+ prefs::kPreferenceResetTime, |
+ base::Int64ToString(base::Time::Now().ToInternalValue())); |
+ |
+ base::MessageLoop::current()->PostDelayedTask( |
+ FROM_HERE, base::Bind(&QuitLoop), |
gab
2014/07/08 14:27:06
Instead of base::Bind(&QuitLoop) these tests shoul
gab
2014/07/08 14:27:06
nit: one space too many after "FROM_HERE,"
haitaol1
2014/07/08 20:31:40
Done.
haitaol1
2014/07/08 20:31:40
Done.
|
+ base::TimeDelta::FromMilliseconds(100)); |
+ base::MessageLoop::current()->Run(); |
+ EXPECT_EQ(ProfileSyncService::BACKUP, service()->backend_mode()); |
+ |
+ EXPECT_EQ(1u, delete_dir_param.size()); |
+ EXPECT_TRUE(delete_dir_param[0]); |
+} |
+ |
#endif |
TEST_F(ProfileSyncServiceTest, GetSyncServiceURL) { |