| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
| 6 | 6 |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 true); | 129 true); |
| 130 } | 130 } |
| 131 | 131 |
| 132 void CreateSyncService() { | 132 void CreateSyncService() { |
| 133 sync_ = static_cast<TestProfileSyncService*>( | 133 sync_ = static_cast<TestProfileSyncService*>( |
| 134 ProfileSyncServiceFactory::GetForProfile(profile_.get())); | 134 ProfileSyncServiceFactory::GetForProfile(profile_.get())); |
| 135 sync_->AddObserver(&observer_); | 135 sync_->AddObserver(&observer_); |
| 136 sync_->set_synchronous_sync_configuration(); | 136 sync_->set_synchronous_sync_configuration(); |
| 137 } | 137 } |
| 138 | 138 |
| 139 void IssueTestTokens() { |
| 140 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_.get()) |
| 141 ->UpdateCredentials("test_user@gmail.com", "oauth2_login_token"); |
| 142 TokenServiceFactory::GetForProfile(profile_.get()) |
| 143 ->IssueAuthTokenForTest(GaiaConstants::kSyncService, "token"); |
| 144 } |
| 145 |
| 139 protected: | 146 protected: |
| 140 DataTypeManagerMock* SetUpDataTypeManager() { | 147 DataTypeManagerMock* SetUpDataTypeManager() { |
| 141 DataTypeManagerMock* data_type_manager = new DataTypeManagerMock(); | 148 DataTypeManagerMock* data_type_manager = new DataTypeManagerMock(); |
| 142 EXPECT_CALL(*sync_->components_factory_mock(), | 149 EXPECT_CALL(*sync_->components_factory_mock(), |
| 143 CreateDataTypeManager(_, _, _, _, _, _)). | 150 CreateDataTypeManager(_, _, _, _, _, _)). |
| 144 WillOnce(Return(data_type_manager)); | 151 WillOnce(Return(data_type_manager)); |
| 145 return data_type_manager; | 152 return data_type_manager; |
| 146 } | 153 } |
| 147 | 154 |
| 148 content::TestBrowserThreadBundle thread_bundle_; | 155 content::TestBrowserThreadBundle thread_bundle_; |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, | 220 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, |
| 214 "test_user@gmail.com"); | 221 "test_user@gmail.com"); |
| 215 sync_->signin()->SetAuthenticatedUsername("test_user@gmail.com"); | 222 sync_->signin()->SetAuthenticatedUsername("test_user@gmail.com"); |
| 216 GoogleServiceSigninSuccessDetails details("test_user@gmail.com", ""); | 223 GoogleServiceSigninSuccessDetails details("test_user@gmail.com", ""); |
| 217 content::NotificationService::current()->Notify( | 224 content::NotificationService::current()->Notify( |
| 218 chrome::NOTIFICATION_GOOGLE_SIGNIN_SUCCESSFUL, | 225 chrome::NOTIFICATION_GOOGLE_SIGNIN_SUCCESSFUL, |
| 219 content::Source<Profile>(profile_.get()), | 226 content::Source<Profile>(profile_.get()), |
| 220 content::Details<const GoogleServiceSigninSuccessDetails>(&details)); | 227 content::Details<const GoogleServiceSigninSuccessDetails>(&details)); |
| 221 | 228 |
| 222 // Create some tokens in the token service. | 229 // Create some tokens in the token service. |
| 223 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | 230 IssueTestTokens(); |
| 224 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token"); | |
| 225 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | |
| 226 GaiaConstants::kSyncService, "token"); | |
| 227 | 231 |
| 228 // Simulate the UI telling sync it has finished setting up. | 232 // Simulate the UI telling sync it has finished setting up. |
| 229 sync_->SetSetupInProgress(false); | 233 sync_->SetSetupInProgress(false); |
| 230 EXPECT_TRUE(sync_->ShouldPushChanges()); | 234 EXPECT_TRUE(sync_->ShouldPushChanges()); |
| 231 } | 235 } |
| 232 | 236 |
| 233 // TODO(pavely): Reenable test once android is switched to oauth2. | 237 // TODO(pavely): Reenable test once android is switched to oauth2. |
| 234 TEST_F(ProfileSyncServiceStartupTest, DISABLED_StartNoCredentials) { | 238 TEST_F(ProfileSyncServiceStartupTest, DISABLED_StartNoCredentials) { |
| 235 // We've never completed startup. | 239 // We've never completed startup. |
| 236 profile_->GetPrefs()->ClearPref(prefs::kSyncHasSetupCompleted); | 240 profile_->GetPrefs()->ClearPref(prefs::kSyncHasSetupCompleted); |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 | 348 |
| 345 TEST_F(ProfileSyncServiceStartupCrosTest, StartFirstTime) { | 349 TEST_F(ProfileSyncServiceStartupCrosTest, StartFirstTime) { |
| 346 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); | 350 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); |
| 347 profile_->GetPrefs()->ClearPref(prefs::kSyncHasSetupCompleted); | 351 profile_->GetPrefs()->ClearPref(prefs::kSyncHasSetupCompleted); |
| 348 EXPECT_CALL(*data_type_manager, Configure(_, _)); | 352 EXPECT_CALL(*data_type_manager, Configure(_, _)); |
| 349 EXPECT_CALL(*data_type_manager, state()). | 353 EXPECT_CALL(*data_type_manager, state()). |
| 350 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); | 354 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); |
| 351 EXPECT_CALL(*data_type_manager, Stop()).Times(1); | 355 EXPECT_CALL(*data_type_manager, Stop()).Times(1); |
| 352 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); | 356 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); |
| 353 | 357 |
| 354 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | 358 IssueTestTokens(); |
| 355 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token"); | |
| 356 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | |
| 357 GaiaConstants::kSyncService, "sync_token"); | |
| 358 sync_->Initialize(); | 359 sync_->Initialize(); |
| 359 EXPECT_TRUE(sync_->ShouldPushChanges()); | 360 EXPECT_TRUE(sync_->ShouldPushChanges()); |
| 360 } | 361 } |
| 361 | 362 |
| 362 TEST_F(ProfileSyncServiceStartupTest, StartNormal) { | 363 TEST_F(ProfileSyncServiceStartupTest, StartNormal) { |
| 363 // Pre load the tokens | 364 // Pre load the tokens |
| 364 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, | 365 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, |
| 365 "test_user@gmail.com"); | 366 "test_user@gmail.com"); |
| 366 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( | 367 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( |
| 367 profile_.get(), NULL); | 368 profile_.get(), NULL); |
| 368 CreateSyncService(); | 369 CreateSyncService(); |
| 369 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); | 370 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); |
| 370 EXPECT_CALL(*data_type_manager, Configure(_, _)); | 371 EXPECT_CALL(*data_type_manager, Configure(_, _)); |
| 371 EXPECT_CALL(*data_type_manager, state()). | 372 EXPECT_CALL(*data_type_manager, state()). |
| 372 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); | 373 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); |
| 373 EXPECT_CALL(*data_type_manager, Stop()).Times(1); | 374 EXPECT_CALL(*data_type_manager, Stop()).Times(1); |
| 374 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); | 375 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); |
| 375 | 376 |
| 376 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | 377 IssueTestTokens(); |
| 377 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token"); | |
| 378 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | |
| 379 GaiaConstants::kSyncService, "sync_token"); | |
| 380 | 378 |
| 381 sync_->Initialize(); | 379 sync_->Initialize(); |
| 382 } | 380 } |
| 383 | 381 |
| 384 // Test that we can recover from a case where a bug in the code resulted in | 382 // Test that we can recover from a case where a bug in the code resulted in |
| 385 // OnUserChoseDatatypes not being properly called and datatype preferences | 383 // OnUserChoseDatatypes not being properly called and datatype preferences |
| 386 // therefore being left unset. | 384 // therefore being left unset. |
| 387 TEST_F(ProfileSyncServiceStartupTest, StartRecoverDatatypePrefs) { | 385 TEST_F(ProfileSyncServiceStartupTest, StartRecoverDatatypePrefs) { |
| 388 // Clear the datatype preference fields (simulating bug 154940). | 386 // Clear the datatype preference fields (simulating bug 154940). |
| 389 profile_->GetPrefs()->ClearPref(prefs::kSyncKeepEverythingSynced); | 387 profile_->GetPrefs()->ClearPref(prefs::kSyncKeepEverythingSynced); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 400 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( | 398 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( |
| 401 profile_.get(), NULL); | 399 profile_.get(), NULL); |
| 402 CreateSyncService(); | 400 CreateSyncService(); |
| 403 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); | 401 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); |
| 404 EXPECT_CALL(*data_type_manager, Configure(_, _)); | 402 EXPECT_CALL(*data_type_manager, Configure(_, _)); |
| 405 EXPECT_CALL(*data_type_manager, state()). | 403 EXPECT_CALL(*data_type_manager, state()). |
| 406 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); | 404 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); |
| 407 EXPECT_CALL(*data_type_manager, Stop()).Times(1); | 405 EXPECT_CALL(*data_type_manager, Stop()).Times(1); |
| 408 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); | 406 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); |
| 409 | 407 |
| 410 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | 408 IssueTestTokens(); |
| 411 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token"); | |
| 412 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | |
| 413 GaiaConstants::kSyncService, "sync_token"); | |
| 414 sync_->Initialize(); | 409 sync_->Initialize(); |
| 415 | 410 |
| 416 EXPECT_TRUE(profile_->GetPrefs()->GetBoolean( | 411 EXPECT_TRUE(profile_->GetPrefs()->GetBoolean( |
| 417 prefs::kSyncKeepEverythingSynced)); | 412 prefs::kSyncKeepEverythingSynced)); |
| 418 } | 413 } |
| 419 | 414 |
| 420 // Verify that the recovery of datatype preferences doesn't overwrite a valid | 415 // Verify that the recovery of datatype preferences doesn't overwrite a valid |
| 421 // case where only bookmarks are enabled. | 416 // case where only bookmarks are enabled. |
| 422 TEST_F(ProfileSyncServiceStartupTest, StartDontRecoverDatatypePrefs) { | 417 TEST_F(ProfileSyncServiceStartupTest, StartDontRecoverDatatypePrefs) { |
| 423 // Explicitly set Keep Everything Synced to false and have only bookmarks | 418 // Explicitly set Keep Everything Synced to false and have only bookmarks |
| 424 // enabled. | 419 // enabled. |
| 425 profile_->GetPrefs()->SetBoolean(prefs::kSyncKeepEverythingSynced, false); | 420 profile_->GetPrefs()->SetBoolean(prefs::kSyncKeepEverythingSynced, false); |
| 426 | 421 |
| 427 // Pre load the tokens | 422 // Pre load the tokens |
| 428 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, | 423 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, |
| 429 "test_user@gmail.com"); | 424 "test_user@gmail.com"); |
| 430 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( | 425 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( |
| 431 profile_.get(), NULL); | 426 profile_.get(), NULL); |
| 432 CreateSyncService(); | 427 CreateSyncService(); |
| 433 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); | 428 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); |
| 434 EXPECT_CALL(*data_type_manager, Configure(_, _)); | 429 EXPECT_CALL(*data_type_manager, Configure(_, _)); |
| 435 EXPECT_CALL(*data_type_manager, state()). | 430 EXPECT_CALL(*data_type_manager, state()). |
| 436 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); | 431 WillRepeatedly(Return(DataTypeManager::CONFIGURED)); |
| 437 EXPECT_CALL(*data_type_manager, Stop()).Times(1); | 432 EXPECT_CALL(*data_type_manager, Stop()).Times(1); |
| 438 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); | 433 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); |
| 439 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | 434 IssueTestTokens(); |
| 440 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token"); | |
| 441 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | |
| 442 GaiaConstants::kSyncService, "sync_token"); | |
| 443 sync_->Initialize(); | 435 sync_->Initialize(); |
| 444 | 436 |
| 445 EXPECT_FALSE(profile_->GetPrefs()->GetBoolean( | 437 EXPECT_FALSE(profile_->GetPrefs()->GetBoolean( |
| 446 prefs::kSyncKeepEverythingSynced)); | 438 prefs::kSyncKeepEverythingSynced)); |
| 447 } | 439 } |
| 448 | 440 |
| 449 TEST_F(ProfileSyncServiceStartupTest, ManagedStartup) { | 441 TEST_F(ProfileSyncServiceStartupTest, ManagedStartup) { |
| 450 // Service should not be started by Initialize() since it's managed. | 442 // Service should not be started by Initialize() since it's managed. |
| 451 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, | 443 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, |
| 452 "test_user@gmail.com"); | 444 "test_user@gmail.com"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 467 | 459 |
| 468 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) { | 460 TEST_F(ProfileSyncServiceStartupTest, SwitchManaged) { |
| 469 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, | 461 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, |
| 470 "test_user@gmail.com"); | 462 "test_user@gmail.com"); |
| 471 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( | 463 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( |
| 472 profile_.get(), NULL); | 464 profile_.get(), NULL); |
| 473 CreateSyncService(); | 465 CreateSyncService(); |
| 474 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); | 466 DataTypeManagerMock* data_type_manager = SetUpDataTypeManager(); |
| 475 EXPECT_CALL(*data_type_manager, Configure(_, _)); | 467 EXPECT_CALL(*data_type_manager, Configure(_, _)); |
| 476 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); | 468 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); |
| 477 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | 469 IssueTestTokens(); |
| 478 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token"); | |
| 479 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | |
| 480 GaiaConstants::kSyncService, "token"); | |
| 481 sync_->Initialize(); | 470 sync_->Initialize(); |
| 482 | 471 |
| 483 // The service should stop when switching to managed mode. | 472 // The service should stop when switching to managed mode. |
| 484 Mock::VerifyAndClearExpectations(data_type_manager); | 473 Mock::VerifyAndClearExpectations(data_type_manager); |
| 485 EXPECT_CALL(*data_type_manager, state()). | 474 EXPECT_CALL(*data_type_manager, state()). |
| 486 WillOnce(Return(DataTypeManager::CONFIGURED)); | 475 WillOnce(Return(DataTypeManager::CONFIGURED)); |
| 487 EXPECT_CALL(*data_type_manager, Stop()).Times(1); | 476 EXPECT_CALL(*data_type_manager, Stop()).Times(1); |
| 488 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); | 477 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); |
| 489 profile_->GetPrefs()->SetBoolean(prefs::kSyncManaged, true); | 478 profile_->GetPrefs()->SetBoolean(prefs::kSyncManaged, true); |
| 490 | 479 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 518 errors, | 507 errors, |
| 519 syncer::ModelTypeSet(), | 508 syncer::ModelTypeSet(), |
| 520 syncer::ModelTypeSet()); | 509 syncer::ModelTypeSet()); |
| 521 EXPECT_CALL(*data_type_manager, Configure(_, _)). | 510 EXPECT_CALL(*data_type_manager, Configure(_, _)). |
| 522 WillRepeatedly( | 511 WillRepeatedly( |
| 523 DoAll(InvokeOnConfigureStart(sync_), | 512 DoAll(InvokeOnConfigureStart(sync_), |
| 524 InvokeOnConfigureDone(sync_, result))); | 513 InvokeOnConfigureDone(sync_, result))); |
| 525 EXPECT_CALL(*data_type_manager, state()). | 514 EXPECT_CALL(*data_type_manager, state()). |
| 526 WillOnce(Return(DataTypeManager::STOPPED)); | 515 WillOnce(Return(DataTypeManager::STOPPED)); |
| 527 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); | 516 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); |
| 528 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | 517 IssueTestTokens(); |
| 529 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token"); | |
| 530 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | |
| 531 GaiaConstants::kSyncService, "token"); | |
| 532 sync_->Initialize(); | 518 sync_->Initialize(); |
| 533 EXPECT_TRUE(sync_->HasUnrecoverableError()); | 519 EXPECT_TRUE(sync_->HasUnrecoverableError()); |
| 534 } | 520 } |
| 535 | 521 |
| 536 TEST_F(ProfileSyncServiceStartupTest, StartDownloadFailed) { | 522 TEST_F(ProfileSyncServiceStartupTest, StartDownloadFailed) { |
| 537 // Pre load the tokens | 523 // Pre load the tokens |
| 538 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, | 524 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, |
| 539 "test_user@gmail.com"); | 525 "test_user@gmail.com"); |
| 540 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( | 526 SigninManagerFactory::GetForProfile(profile_.get())->Initialize( |
| 541 profile_.get(), NULL); | 527 profile_.get(), NULL); |
| 542 CreateSyncService(); | 528 CreateSyncService(); |
| 543 | 529 |
| 544 profile_->GetPrefs()->ClearPref(prefs::kSyncHasSetupCompleted); | 530 profile_->GetPrefs()->ClearPref(prefs::kSyncHasSetupCompleted); |
| 545 | 531 |
| 546 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); | 532 EXPECT_CALL(observer_, OnStateChanged()).Times(AnyNumber()); |
| 547 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | 533 IssueTestTokens(); |
| 548 GaiaConstants::kGaiaOAuth2LoginRefreshToken, "oauth2_login_token"); | |
| 549 TokenServiceFactory::GetForProfile(profile_.get())->IssueAuthTokenForTest( | |
| 550 GaiaConstants::kSyncService, "token"); | |
| 551 sync_->fail_initial_download(); | 534 sync_->fail_initial_download(); |
| 552 | 535 |
| 553 sync_->SetSetupInProgress(true); | 536 sync_->SetSetupInProgress(true); |
| 554 sync_->Initialize(); | 537 sync_->Initialize(); |
| 555 sync_->SetSetupInProgress(false); | 538 sync_->SetSetupInProgress(false); |
| 556 EXPECT_FALSE(sync_->sync_initialized()); | 539 EXPECT_FALSE(sync_->sync_initialized()); |
| 557 EXPECT_TRUE(sync_->GetBackendForTest()); | 540 EXPECT_TRUE(sync_->GetBackendForTest()); |
| 558 } | 541 } |
| OLD | NEW |