| Index: chrome/browser/password_manager/chrome_password_manager_client_unittest.cc
|
| diff --git a/chrome/browser/password_manager/chrome_password_manager_client_unittest.cc b/chrome/browser/password_manager/chrome_password_manager_client_unittest.cc
|
| index 57438e5651ad9680a2dbb332466c4a30e38321fc..a8b47c052fe2d62930258d72ccc00d07bc8a5e73 100644
|
| --- a/chrome/browser/password_manager/chrome_password_manager_client_unittest.cc
|
| +++ b/chrome/browser/password_manager/chrome_password_manager_client_unittest.cc
|
| @@ -7,6 +7,8 @@
|
| #include "base/command_line.h"
|
| #include "base/strings/string16.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "chrome/browser/sync/profile_sync_service_factory.h"
|
| +#include "chrome/browser/sync/profile_sync_service_mock.h"
|
| #include "chrome/common/chrome_version_info.h"
|
| #include "chrome/test/base/chrome_render_view_host_test_harness.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| @@ -25,6 +27,7 @@
|
|
|
| using content::BrowserContext;
|
| using content::WebContents;
|
| +using testing::Return;
|
|
|
| namespace {
|
|
|
| @@ -329,3 +332,57 @@ TEST_F(ChromePasswordManagerClientTest,
|
| "https://passwords.google.com&rart=234"));
|
| EXPECT_TRUE(client->IsPasswordManagerEnabledForCurrentPage());
|
| }
|
| +
|
| +TEST_F(ChromePasswordManagerClientTest, IsPasswordSyncEnabled) {
|
| + ChromePasswordManagerClient* client = GetClient();
|
| +
|
| + ProfileSyncServiceMock* mock_sync_service =
|
| + static_cast<ProfileSyncServiceMock*>(
|
| + ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse(
|
| + profile(), ProfileSyncServiceMock::BuildMockProfileSyncService));
|
| +
|
| + syncer::ModelTypeSet active_types;
|
| + active_types.Put(syncer::PASSWORDS);
|
| + EXPECT_CALL(*mock_sync_service, HasSyncSetupCompleted())
|
| + .WillRepeatedly(Return(true));
|
| + EXPECT_CALL(*mock_sync_service, SyncActive()).WillRepeatedly(Return(true));
|
| + EXPECT_CALL(*mock_sync_service, GetActiveDataTypes())
|
| + .WillRepeatedly(Return(active_types));
|
| + EXPECT_CALL(*mock_sync_service, IsUsingSecondaryPassphrase())
|
| + .WillRepeatedly(Return(false));
|
| +
|
| + // Passwords are syncing and custom passphrase isn't used.
|
| + EXPECT_FALSE(
|
| + client->IsPasswordSyncEnabled(password_manager::ONLY_CUSTOM_PASSPHRASE));
|
| + EXPECT_TRUE(client->IsPasswordSyncEnabled(
|
| + password_manager::WITHOUT_CUSTOM_PASSPHRASE));
|
| +
|
| + // Again, using a custom passphrase.
|
| + EXPECT_CALL(*mock_sync_service, IsUsingSecondaryPassphrase())
|
| + .WillRepeatedly(Return(true));
|
| +
|
| + EXPECT_TRUE(
|
| + client->IsPasswordSyncEnabled(password_manager::ONLY_CUSTOM_PASSPHRASE));
|
| + EXPECT_FALSE(client->IsPasswordSyncEnabled(
|
| + password_manager::WITHOUT_CUSTOM_PASSPHRASE));
|
| +
|
| + // Always return false if we aren't syncing passwords.
|
| + active_types.Remove(syncer::PASSWORDS);
|
| + active_types.Put(syncer::BOOKMARKS);
|
| + EXPECT_CALL(*mock_sync_service, GetActiveDataTypes())
|
| + .WillRepeatedly(Return(active_types));
|
| +
|
| + EXPECT_FALSE(
|
| + client->IsPasswordSyncEnabled(password_manager::ONLY_CUSTOM_PASSPHRASE));
|
| + EXPECT_FALSE(client->IsPasswordSyncEnabled(
|
| + password_manager::WITHOUT_CUSTOM_PASSPHRASE));
|
| +
|
| + // Again, without a custom passphrase.
|
| + EXPECT_CALL(*mock_sync_service, IsUsingSecondaryPassphrase())
|
| + .WillRepeatedly(Return(false));
|
| +
|
| + EXPECT_FALSE(
|
| + client->IsPasswordSyncEnabled(password_manager::ONLY_CUSTOM_PASSPHRASE));
|
| + EXPECT_FALSE(client->IsPasswordSyncEnabled(
|
| + password_manager::WITHOUT_CUSTOM_PASSPHRASE));
|
| +}
|
|
|