Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(543)

Unified Diff: chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc

Issue 15961007: Highlight fields we know to be invalid but have no way of locally checking. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
diff --git a/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc b/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
index 48e65212395d73b6cb9e53cb78535619ca6e735e..7a3750d40a84abf5220158bd2233a969b6c839be 100644
--- a/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
+++ b/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
@@ -240,9 +240,10 @@ class TestAutofillDialogController
void set_dialog_type(DialogType dialog_type) { dialog_type_ = dialog_type; }
- bool IsSectionInEditState(DialogSection section) {
+ bool IsSectionInEditState(DialogSection section) const {
std::map<DialogSection, bool> state = section_editing_state();
- return state[section];
+ std::map<DialogSection, bool>::const_iterator it = state.find(section);
+ return it != state.end() && it->second;
}
MOCK_METHOD0(LoadRiskFingerprintData, void());
@@ -1822,4 +1823,28 @@ TEST_F(AutofillDialogControllerTest, NoManageMenuItemForNewWalletUsers) {
2, controller()->MenuModelForSection(SECTION_SHIPPING)->GetItemCount());
}
+// Ensure Wallet instruments marked expired by the server are shown as invalid.
+TEST_F(AutofillDialogControllerTest, WalletExpiredCard) {
+ scoped_ptr<wallet::WalletItems> wallet_items = wallet::GetTestWalletItems();
+ wallet_items->AddInstrument(wallet::GetTestMaskedInstrumentExpired());
+ controller()->OnDidGetWalletItems(wallet_items.Pass());
+
+ EXPECT_TRUE(controller()->IsSectionInEditState(SECTION_CC_BILLING));
+
+ // Use |SetOutputValue()| to put the right AutofillFieldTypes into the map.
+ DetailOutputMap outputs;
+ SetOutputValue(controller()->RequestedFieldsForSection(SECTION_CC_BILLING),
+ &outputs, COMPANY_NAME, "Bluth Company");
+
+ ValidityData validity_data = controller()->InputsAreValid(
+ outputs, AutofillDialogController::VALIDATE_SELECT);
+ EXPECT_EQ(1U, validity_data.count(CREDIT_CARD_EXP_MONTH));
+ EXPECT_EQ(1U, validity_data.count(CREDIT_CARD_EXP_4_DIGIT_YEAR));
+
+ validity_data = controller()->InputsAreValid(
+ outputs, AutofillDialogController::VALIDATE_EDIT);
+ EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_EXP_MONTH));
+ EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_EXP_4_DIGIT_YEAR));
+}
+
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698