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 396a6d8c09ad2e8d74c20f90b3fb2ae6779ed9c7..85eaa85d680f00ffda88dc1b79262b6c478791d4 100644 |
--- a/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc |
+++ b/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc |
@@ -459,57 +459,49 @@ TEST_F(AutofillDialogControllerTest, PhoneNumberValidation) { |
// Existing data should have no errors. |
ValidityData validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_FINAL); |
+ controller()->InputsAreValid(outputs, VALIDATE_FINAL); |
EXPECT_EQ(0U, validity_data.count(PHONE_HOME_WHOLE_NUMBER)); |
// Input an empty phone number with VALIDATE_FINAL. |
SetOutputValue(inputs, &outputs, PHONE_HOME_WHOLE_NUMBER, ""); |
validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_FINAL); |
+ controller()->InputsAreValid(outputs, VALIDATE_FINAL); |
EXPECT_EQ(1U, validity_data.count(PHONE_HOME_WHOLE_NUMBER)); |
// Input an empty phone number with VALIDATE_EDIT. |
validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_EDIT); |
+ controller()->InputsAreValid(outputs, VALIDATE_EDIT); |
EXPECT_EQ(0U, validity_data.count(PHONE_HOME_WHOLE_NUMBER)); |
// Input an invalid phone number. |
SetOutputValue(inputs, &outputs, PHONE_HOME_WHOLE_NUMBER, "ABC"); |
validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_EDIT); |
+ controller()->InputsAreValid(outputs, VALIDATE_EDIT); |
EXPECT_EQ(1U, validity_data.count(PHONE_HOME_WHOLE_NUMBER)); |
// Input a local phone number. |
SetOutputValue(inputs, &outputs, PHONE_HOME_WHOLE_NUMBER, "2155546699"); |
validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_EDIT); |
+ controller()->InputsAreValid(outputs, VALIDATE_EDIT); |
EXPECT_EQ(0U, validity_data.count(PHONE_HOME_WHOLE_NUMBER)); |
// Input an invalid local phone number. |
SetOutputValue(inputs, &outputs, PHONE_HOME_WHOLE_NUMBER, "215554669"); |
validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_EDIT); |
+ controller()->InputsAreValid(outputs, VALIDATE_EDIT); |
EXPECT_EQ(1U, validity_data.count(PHONE_HOME_WHOLE_NUMBER)); |
// Input an international phone number. |
SetOutputValue(inputs, &outputs, PHONE_HOME_WHOLE_NUMBER, "+33 892 70 12 39"); |
validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_EDIT); |
+ controller()->InputsAreValid(outputs, VALIDATE_EDIT); |
EXPECT_EQ(0U, validity_data.count(PHONE_HOME_WHOLE_NUMBER)); |
// Input an invalid international phone number. |
SetOutputValue(inputs, &outputs, PHONE_HOME_WHOLE_NUMBER, |
"+112333 892 70 12 39"); |
validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_EDIT); |
+ controller()->InputsAreValid(outputs, VALIDATE_EDIT); |
EXPECT_EQ(1U, validity_data.count(PHONE_HOME_WHOLE_NUMBER)); |
} |
@@ -528,21 +520,18 @@ TEST_F(AutofillDialogControllerTest, CardHolderNameValidation) { |
// Input an empty card holder name with VALIDATE_FINAL. |
SetOutputValue(inputs, &outputs, CREDIT_CARD_NAME, ""); |
ValidityData validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_FINAL); |
+ controller()->InputsAreValid(outputs, VALIDATE_FINAL); |
EXPECT_EQ(1U, validity_data.count(CREDIT_CARD_NAME)); |
// Input an empty card holder name with VALIDATE_EDIT. |
validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_EDIT); |
+ controller()->InputsAreValid(outputs, VALIDATE_EDIT); |
EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_NAME)); |
// Input a non-empty card holder name. |
SetOutputValue(inputs, &outputs, CREDIT_CARD_NAME, "Bob"); |
validity_data = |
- controller()->InputsAreValid(outputs, |
- AutofillDialogController::VALIDATE_FINAL); |
+ controller()->InputsAreValid(outputs, VALIDATE_FINAL); |
EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_NAME)); |
// Switch to Wallet which only considers names with with at least two names to |
@@ -565,46 +554,40 @@ TEST_F(AutofillDialogControllerTest, CardHolderNameValidation) { |
// change this behavior. |
SetOutputValue(wallet_inputs, &wallet_outputs, CREDIT_CARD_NAME, ""); |
validity_data = |
- controller()->InputsAreValid(wallet_outputs, |
- AutofillDialogController::VALIDATE_FINAL); |
+ controller()->InputsAreValid(wallet_outputs, VALIDATE_FINAL); |
EXPECT_EQ(1U, validity_data.count(CREDIT_CARD_NAME)); |
// Input an empty card holder name with VALIDATE_EDIT. Data source should not |
// change this behavior. |
validity_data = |
- controller()->InputsAreValid(wallet_outputs, |
- AutofillDialogController::VALIDATE_EDIT); |
+ controller()->InputsAreValid(wallet_outputs, VALIDATE_EDIT); |
EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_NAME)); |
// Input a one name card holder name. Wallet does not currently support this. |
SetOutputValue(wallet_inputs, &wallet_outputs, CREDIT_CARD_NAME, "Bob"); |
validity_data = |
- controller()->InputsAreValid(wallet_outputs, |
- AutofillDialogController::VALIDATE_FINAL); |
+ controller()->InputsAreValid(wallet_outputs, VALIDATE_FINAL); |
EXPECT_EQ(1U, validity_data.count(CREDIT_CARD_NAME)); |
// Input a two name card holder name. |
SetOutputValue(wallet_inputs, &wallet_outputs, CREDIT_CARD_NAME, |
"Bob Barker"); |
validity_data = |
- controller()->InputsAreValid(wallet_outputs, |
- AutofillDialogController::VALIDATE_FINAL); |
+ controller()->InputsAreValid(wallet_outputs, VALIDATE_FINAL); |
EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_NAME)); |
// Input a more than two name card holder name. |
SetOutputValue(wallet_inputs, &wallet_outputs, CREDIT_CARD_NAME, |
"John Jacob Jingleheimer Schmidt"); |
validity_data = |
- controller()->InputsAreValid(wallet_outputs, |
- AutofillDialogController::VALIDATE_FINAL); |
+ controller()->InputsAreValid(wallet_outputs, VALIDATE_FINAL); |
EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_NAME)); |
// Input a card holder name with lots of crazy whitespace. |
SetOutputValue(wallet_inputs, &wallet_outputs, CREDIT_CARD_NAME, |
" \\n\\r John \\n Jacob Jingleheimer \\t Schmidt "); |
validity_data = |
- controller()->InputsAreValid(wallet_outputs, |
- AutofillDialogController::VALIDATE_FINAL); |
+ controller()->InputsAreValid(wallet_outputs, VALIDATE_FINAL); |
EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_NAME)); |
} |
@@ -1907,4 +1890,38 @@ TEST_F(AutofillDialogControllerTest, NotProdNotification) { |
NotificationsOfType(DialogNotification::DEVELOPER_WARNING).empty()); |
} |
+// 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()->IsEditingExistingData(SECTION_CC_BILLING)); |
+ |
+ // Use |SetOutputValue()| to put the right AutofillFieldTypes into the map. |
+ const DetailInputs& inputs = |
+ controller()->RequestedFieldsForSection(SECTION_CC_BILLING); |
+ DetailOutputMap outputs; |
+ SetOutputValue(inputs, &outputs, COMPANY_NAME, "Bluth Company"); |
+ |
+ ValidityData validity_data = |
+ controller()->InputsAreValid(outputs, VALIDATE_EDIT); |
+ EXPECT_EQ(1U, validity_data.count(CREDIT_CARD_EXP_MONTH)); |
+ EXPECT_EQ(1U, validity_data.count(CREDIT_CARD_EXP_4_DIGIT_YEAR)); |
+ |
+ // Make the local input year differ from the instrument. |
+ SetOutputValue(inputs, &outputs, CREDIT_CARD_EXP_4_DIGIT_YEAR, "3002"); |
+ |
+ validity_data = controller()->InputsAreValid(outputs, VALIDATE_EDIT); |
+ EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_EXP_MONTH)); |
+ EXPECT_EQ(0U, validity_data.count(CREDIT_CARD_EXP_4_DIGIT_YEAR)); |
+ |
+ // Make the local input month differ from the instrument. |
+ SetOutputValue(inputs, &outputs, CREDIT_CARD_EXP_MONTH, "06"); |
+ |
+ validity_data = controller()->InputsAreValid(outputs, 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 |