| Index: chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc
|
| diff --git a/chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc b/chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc
|
| index cd03020bbf6a5feaa3354529f41a16eff1d7a5a2..b9a90dea36a0e3f01156591ab2cee4e0cd1f1a3f 100644
|
| --- a/chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc
|
| +++ b/chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc
|
| @@ -2,121 +2,10 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "base/prefs/pref_service.h"
|
| #include "chrome/browser/ui/autofill/autofill_dialog_models.h"
|
| -#include "chrome/common/pref_names.h"
|
| -#include "chrome/test/base/testing_profile.h"
|
| -#include "components/autofill/browser/autofill_metrics.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace autofill {
|
|
|
| -namespace {
|
| -
|
| -class TestAccountChooserModel : public AccountChooserModel {
|
| - public:
|
| - TestAccountChooserModel(AccountChooserModelDelegate* delegate,
|
| - PrefService* prefs,
|
| - const AutofillMetrics& metric_logger)
|
| - : AccountChooserModel(delegate, prefs, metric_logger,
|
| - DIALOG_TYPE_REQUEST_AUTOCOMPLETE) {}
|
| - virtual ~TestAccountChooserModel() {}
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(TestAccountChooserModel);
|
| -};
|
| -
|
| -class MockAccountChooserModelDelegate : public AccountChooserModelDelegate {
|
| - public:
|
| - MockAccountChooserModelDelegate() {}
|
| - virtual ~MockAccountChooserModelDelegate() {}
|
| -
|
| - MOCK_METHOD0(AccountChoiceChanged, void());
|
| -};
|
| -
|
| -class AccountChooserModelTest : public testing::Test {
|
| - public:
|
| - AccountChooserModelTest()
|
| - : model_(&delegate_, profile_.GetPrefs(), metric_logger_) {}
|
| - virtual ~AccountChooserModelTest() {}
|
| -
|
| - Profile* profile() { return &profile_; }
|
| - MockAccountChooserModelDelegate* delegate() { return &delegate_; }
|
| - TestAccountChooserModel* model() { return &model_; }
|
| - const AutofillMetrics& metric_logger() { return metric_logger_; }
|
| -
|
| - private:
|
| - TestingProfile profile_;
|
| - MockAccountChooserModelDelegate delegate_;
|
| - TestAccountChooserModel model_;
|
| - AutofillMetrics metric_logger_;
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -TEST_F(AccountChooserModelTest, ObeysPref) {
|
| - // When "Pay without wallet" is false, use Wallet by default.
|
| - {
|
| - profile()->GetPrefs()->SetBoolean(
|
| - ::prefs::kAutofillDialogPayWithoutWallet, false);
|
| - TestAccountChooserModel model(delegate(), profile()->GetPrefs(),
|
| - metric_logger());
|
| - EXPECT_TRUE(model.WalletIsSelected());
|
| - }
|
| - // When the user chose to "Pay without wallet", use Autofill.
|
| - {
|
| - profile()->GetPrefs()->SetBoolean(
|
| - ::prefs::kAutofillDialogPayWithoutWallet, true);
|
| - TestAccountChooserModel model(delegate(), profile()->GetPrefs(),
|
| - metric_logger());
|
| - EXPECT_FALSE(model.WalletIsSelected());
|
| - }
|
| -}
|
| -
|
| -TEST_F(AccountChooserModelTest, IgnoresPrefChanges) {
|
| - ASSERT_FALSE(profile()->GetPrefs()->GetBoolean(
|
| - ::prefs::kAutofillDialogPayWithoutWallet));
|
| - EXPECT_TRUE(model()->WalletIsSelected());
|
| -
|
| - // Check that nothing changes while this dialog is running if a pref changes
|
| - // (this could cause subtle bugs or annoyances if a user closes another
|
| - // running dialog).
|
| - profile()->GetPrefs()->SetBoolean(
|
| - ::prefs::kAutofillDialogPayWithoutWallet, true);
|
| - EXPECT_TRUE(model()->WalletIsSelected());
|
| -}
|
| -
|
| -TEST_F(AccountChooserModelTest, HandlesError) {
|
| - EXPECT_CALL(*delegate(), AccountChoiceChanged()).Times(1);
|
| -
|
| - ASSERT_TRUE(model()->WalletIsSelected());
|
| - ASSERT_TRUE(model()->IsCommandIdEnabled(AccountChooserModel::kWalletItemId));
|
| -
|
| - model()->SetHadWalletError();
|
| - EXPECT_FALSE(model()->WalletIsSelected());
|
| - EXPECT_FALSE(model()->IsCommandIdEnabled(AccountChooserModel::kWalletItemId));
|
| -}
|
| -
|
| -TEST_F(AccountChooserModelTest, HandlesSigninError) {
|
| - EXPECT_CALL(*delegate(), AccountChoiceChanged()).Times(1);
|
| -
|
| - ASSERT_TRUE(model()->WalletIsSelected());
|
| - ASSERT_TRUE(model()->IsCommandIdEnabled(AccountChooserModel::kWalletItemId));
|
| -
|
| - model()->SetHadWalletSigninError();
|
| - EXPECT_FALSE(model()->WalletIsSelected());
|
| - EXPECT_TRUE(model()->IsCommandIdEnabled(AccountChooserModel::kWalletItemId));
|
| -}
|
| -
|
| -TEST_F(AccountChooserModelTest, RespectsUserChoice) {
|
| - EXPECT_CALL(*delegate(), AccountChoiceChanged()).Times(2);
|
| -
|
| - model()->ExecuteCommand(AccountChooserModel::kAutofillItemId, 0);
|
| - EXPECT_FALSE(model()->WalletIsSelected());
|
| -
|
| - model()->ExecuteCommand(AccountChooserModel::kWalletItemId, 0);
|
| - EXPECT_TRUE(model()->WalletIsSelected());
|
| -}
|
| -
|
| } // namespace autofill
|
|
|