Chromium Code Reviews| Index: chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc |
| diff --git a/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc b/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc |
| index a2b661fccf00fe08a0cbf477ee09d58d3b777ae9..bb44e36efa4869111ce78f9c1e52e81b9b1c1d67 100644 |
| --- a/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc |
| +++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc |
| @@ -35,11 +35,8 @@ |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| -using password_bubble_experiment::kBrandingExperimentName; |
| using password_bubble_experiment::kChromeSignInPasswordPromoExperimentName; |
| using password_bubble_experiment::kChromeSignInPasswordPromoThresholdParam; |
| -using password_bubble_experiment::kSmartLockBrandingGroupName; |
| -using password_bubble_experiment::kSmartLockBrandingSavePromptOnlyGroupName; |
| using ::testing::AnyNumber; |
| using ::testing::Return; |
| using ::testing::ReturnRef; |
| @@ -47,24 +44,27 @@ using ::testing::_; |
| namespace { |
| -const char kFakeGroup[] = "FakeGroup"; |
| -const char kSignInPromoCountTilNoThanksMetric[] = |
| +constexpr char kFakeGroup[] = "FakeGroup"; |
| +constexpr char kSignInPromoCountTilNoThanksMetric[] = |
| "PasswordManager.SignInPromoCountTilNoThanks"; |
| -const char kSignInPromoCountTilSignInMetric[] = |
| +constexpr char kSignInPromoCountTilSignInMetric[] = |
| "PasswordManager.SignInPromoCountTilSignIn"; |
| -const char kSignInPromoDismissalCountMetric[] = |
| +constexpr char kSignInPromoDismissalCountMetric[] = |
| "PasswordManager.SignInPromoDismissalCount"; |
| -const char kSignInPromoDismissalReasonMetric[] = "PasswordManager.SignInPromo"; |
| -const char kSiteOrigin[] = "http://example.com/login"; |
| -const char kUsername[] = "Admin"; |
| -const char kUIDismissalReasonMetric[] = "PasswordManager.UIDismissalReason"; |
| +constexpr char kSignInPromoDismissalReasonMetric[] = |
| + "PasswordManager.SignInPromo"; |
| +constexpr char kSiteOrigin[] = "http://example.com/login"; |
| +constexpr char kUsername[] = "Admin"; |
| +constexpr char kUIDismissalReasonMetric[] = "PasswordManager.UIDismissalReason"; |
| class TestSyncService : public browser_sync::ProfileSyncServiceMock { |
| public: |
| + enum class SyncedTypes { ALL, NONE }; |
| + |
| explicit TestSyncService(Profile* profile) |
| : browser_sync::ProfileSyncServiceMock( |
| CreateProfileSyncServiceParamsForTest(profile)), |
| - smartlock_enabled_(false) {} |
| + synced_types_(SyncedTypes::NONE) {} |
| ~TestSyncService() override {} |
| // FakeSyncService: |
| @@ -72,8 +72,14 @@ class TestSyncService : public browser_sync::ProfileSyncServiceMock { |
| bool IsSyncAllowed() const override { return true; } |
| bool IsSyncActive() const override { return true; } |
| syncer::ModelTypeSet GetActiveDataTypes() const override { |
| - return smartlock_enabled_ ? syncer::ModelTypeSet::All() |
| - : syncer::ModelTypeSet(); |
| + switch (synced_types_) { |
| + case SyncedTypes::ALL: |
| + return syncer::ModelTypeSet::All(); |
| + case SyncedTypes::NONE: |
| + return syncer::ModelTypeSet(); |
| + } |
| + NOTREACHED(); |
| + return syncer::ModelTypeSet(); |
| } |
| bool CanSyncStart() const override { return true; } |
| syncer::ModelTypeSet GetPreferredDataTypes() const override { |
| @@ -81,12 +87,12 @@ class TestSyncService : public browser_sync::ProfileSyncServiceMock { |
| } |
| bool IsUsingSecondaryPassphrase() const override { return false; } |
| - void set_smartlock_enabled(bool smartlock_enabled) { |
| - smartlock_enabled_ = smartlock_enabled; |
| + void set_synced_types(SyncedTypes synced_types) { |
| + synced_types_ = synced_types; |
| } |
| private: |
| - bool smartlock_enabled_; |
| + SyncedTypes synced_types_; |
| }; |
| std::unique_ptr<KeyedService> TestingSyncFactoryFunction( |
| @@ -320,46 +326,6 @@ TEST_F(ManagePasswordsBubbleModelTest, ClickUpdate) { |
| DestroyModel(); |
| } |
| -TEST_F(ManagePasswordsBubbleModelTest, ShowSmartLockWarmWelcome) { |
| - TestSyncService* sync_service = static_cast<TestSyncService*>( |
| - ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
| - profile(), &TestingSyncFactoryFunction)); |
| - sync_service->set_smartlock_enabled(true); |
| - base::FieldTrialList::CreateFieldTrial(kBrandingExperimentName, |
| - kSmartLockBrandingGroupName); |
| - |
| - PretendPasswordWaiting(); |
| - |
| - EXPECT_TRUE(model()->ShouldShowGoogleSmartLockWelcome()); |
| - EXPECT_CALL(*GetStore(), AddSiteStatsImpl(_)); |
| - DestroyModel(); |
| - PretendPasswordWaiting(); |
| - |
| - EXPECT_FALSE(model()->ShouldShowGoogleSmartLockWelcome()); |
| - EXPECT_TRUE(prefs()->GetBoolean( |
| - password_manager::prefs::kWasSavePrompFirstRunExperienceShown)); |
| -} |
| - |
| -TEST_F(ManagePasswordsBubbleModelTest, OmitSmartLockWarmWelcome) { |
| - TestSyncService* sync_service = static_cast<TestSyncService*>( |
| - ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
| - profile(), &TestingSyncFactoryFunction)); |
| - sync_service->set_smartlock_enabled(false); |
| - base::FieldTrialList::CreateFieldTrial(kBrandingExperimentName, |
| - kSmartLockBrandingGroupName); |
| - |
| - PretendPasswordWaiting(); |
| - |
| - EXPECT_FALSE(model()->ShouldShowGoogleSmartLockWelcome()); |
| - EXPECT_CALL(*GetStore(), AddSiteStatsImpl(_)); |
| - DestroyModel(); |
| - PretendPasswordWaiting(); |
| - |
| - EXPECT_FALSE(model()->ShouldShowGoogleSmartLockWelcome()); |
| - EXPECT_FALSE(prefs()->GetBoolean( |
| - password_manager::prefs::kWasSavePrompFirstRunExperienceShown)); |
| -} |
| - |
| TEST_F(ManagePasswordsBubbleModelTest, OnBrandLinkClicked) { |
| PretendPasswordWaiting(); |
| @@ -468,11 +434,8 @@ TEST_F(ManagePasswordsBubbleModelTest, SignInPromoDismiss) { |
| namespace { |
| -enum class SmartLockStatus { ENABLE, DISABLE }; |
| - |
| struct TitleTestCase { |
| - const char* experiment_group; |
| - SmartLockStatus smartlock_status; |
| + TestSyncService::SyncedTypes synced_types; |
| const char* expected_title; |
| }; |
| @@ -487,12 +450,7 @@ TEST_P(ManagePasswordsBubbleModelTitleTest, BrandedTitleOnSaving) { |
| TestSyncService* sync_service = static_cast<TestSyncService*>( |
| ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
| profile(), &TestingSyncFactoryFunction)); |
| - sync_service->set_smartlock_enabled(test_case.smartlock_status == |
| - SmartLockStatus::ENABLE); |
| - if (test_case.experiment_group) { |
| - base::FieldTrialList::CreateFieldTrial(kBrandingExperimentName, |
| - test_case.experiment_group); |
| - } |
| + sync_service->set_synced_types(test_case.synced_types); |
| PretendPasswordWaiting(); |
| EXPECT_THAT(base::UTF16ToUTF8(model()->title()), |
| @@ -504,17 +462,9 @@ namespace { |
| // Below, "Chrom" is the common prefix of Chromium and Google Chrome. Ideally, |
| // we would use the localised strings, but ResourceBundle does not get |
| // initialised for this unittest. |
| -const TitleTestCase kTitleTestCases[] = { |
| - {kSmartLockBrandingGroupName, SmartLockStatus::ENABLE, "Google Smart Lock"}, |
| - {kSmartLockBrandingSavePromptOnlyGroupName, SmartLockStatus::ENABLE, |
| - "Google Smart Lock"}, |
| - {nullptr, SmartLockStatus::ENABLE, "Chrom"}, |
| - {"Default", SmartLockStatus::ENABLE, "Chrom"}, |
| - {kSmartLockBrandingGroupName, SmartLockStatus::DISABLE, "Chrom"}, |
| - {kSmartLockBrandingSavePromptOnlyGroupName, SmartLockStatus::DISABLE, |
| - "Chrom"}, |
| - {"Default", SmartLockStatus::DISABLE, "Chrom"}, |
| - {nullptr, SmartLockStatus::DISABLE, "Chrom"}, |
| +constexpr TitleTestCase kTitleTestCases[] = { |
| + {TestSyncService::SyncedTypes::ALL, "Google Smart Lock"}, |
| + {TestSyncService::SyncedTypes::NONE, "Chrom"}, |
| }; |
| } // namespace |
| @@ -523,67 +473,31 @@ INSTANTIATE_TEST_CASE_P(Default, |
| ManagePasswordsBubbleModelTitleTest, |
| ::testing::ValuesIn(kTitleTestCases)); |
| -namespace { |
| - |
| -enum class ManageLinkTarget { EXTERNAL_PASSWORD_MANAGER, SETTINGS_PAGE }; |
| - |
| -struct ManageLinkTestCase { |
| - const char* experiment_group; |
| - SmartLockStatus smartlock_status; |
| - ManageLinkTarget expected_target; |
| -}; |
| - |
| -} // namespace |
| - |
| class ManagePasswordsBubbleModelManageLinkTest |
| : public ManagePasswordsBubbleModelTest, |
| - public ::testing::WithParamInterface<ManageLinkTestCase> {}; |
| + public ::testing::WithParamInterface<TestSyncService::SyncedTypes> {}; |
| TEST_P(ManagePasswordsBubbleModelManageLinkTest, OnManageLinkClicked) { |
| - ManageLinkTestCase test_case = GetParam(); |
| TestSyncService* sync_service = static_cast<TestSyncService*>( |
| ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
| profile(), &TestingSyncFactoryFunction)); |
| - sync_service->set_smartlock_enabled(test_case.smartlock_status == |
| - SmartLockStatus::ENABLE); |
| - if (test_case.experiment_group) { |
| - base::FieldTrialList::CreateFieldTrial(kBrandingExperimentName, |
| - test_case.experiment_group); |
| - } |
| + sync_service->set_synced_types(GetParam()); |
| PretendManagingPasswords(); |
| - switch (test_case.expected_target) { |
| - case ManageLinkTarget::EXTERNAL_PASSWORD_MANAGER: |
| - EXPECT_CALL(*controller(), NavigateToExternalPasswordManager()); |
| - break; |
| - case ManageLinkTarget::SETTINGS_PAGE: |
| - EXPECT_CALL(*controller(), NavigateToPasswordManagerSettingsPage()); |
| - break; |
| - } |
| + EXPECT_CALL(*controller(), NavigateToPasswordManagerSettingsPage()); |
| model()->OnManageLinkClicked(); |
| } |
| namespace { |
| -const ManageLinkTestCase kManageLinkTestCases[] = { |
| - {kSmartLockBrandingGroupName, SmartLockStatus::ENABLE, |
| - ManageLinkTarget::EXTERNAL_PASSWORD_MANAGER}, |
| - {kSmartLockBrandingSavePromptOnlyGroupName, SmartLockStatus::ENABLE, |
| - ManageLinkTarget::SETTINGS_PAGE}, |
| - {nullptr, SmartLockStatus::ENABLE, ManageLinkTarget::SETTINGS_PAGE}, |
| - {"Default", SmartLockStatus::ENABLE, ManageLinkTarget::SETTINGS_PAGE}, |
| - {kSmartLockBrandingGroupName, SmartLockStatus::DISABLE, |
| - ManageLinkTarget::SETTINGS_PAGE}, |
| - {kSmartLockBrandingSavePromptOnlyGroupName, SmartLockStatus::DISABLE, |
| - ManageLinkTarget::SETTINGS_PAGE}, |
| - {nullptr, SmartLockStatus::DISABLE, ManageLinkTarget::SETTINGS_PAGE}, |
| - {"Default", SmartLockStatus::DISABLE, ManageLinkTarget::SETTINGS_PAGE}, |
| +constexpr TestSyncService::SyncedTypes kManageLinkTestStatuses[] = { |
| + TestSyncService::SyncedTypes::ALL, TestSyncService::SyncedTypes::NONE, |
| }; |
| } // namespace |
| INSTANTIATE_TEST_CASE_P(Default, |
| ManagePasswordsBubbleModelManageLinkTest, |
| - ::testing::ValuesIn(kManageLinkTestCases)); |
| + ::testing::ValuesIn(kManageLinkTestStatuses)); |
|
vasilii
2016/12/19 13:31:02
Values(TestSyncService::SyncedTypes::ALL, TestSync
vabr (Chromium)
2016/12/19 13:51:03
Done.
|