| Index: components/autofill/core/browser/autofill_manager_unittest.cc
|
| diff --git a/components/autofill/core/browser/autofill_manager_unittest.cc b/components/autofill/core/browser/autofill_manager_unittest.cc
|
| index b8466a9a9363d47ff56568b24cdd22f037bbeac3..bcdbb8dfbc3e6e7a67ab1c8dac9c8eac6422d144 100644
|
| --- a/components/autofill/core/browser/autofill_manager_unittest.cc
|
| +++ b/components/autofill/core/browser/autofill_manager_unittest.cc
|
| @@ -1513,15 +1513,26 @@ TEST_F(AutofillManagerTest, WillFillCreditCardNumber) {
|
| month_field = &form.fields[i];
|
| }
|
|
|
| - // Empty form - whole form is Autofilled.
|
| + // Empty form - whole form is Autofilled (except on iOS).
|
| EXPECT_TRUE(WillFillCreditCardNumber(form, *number_field));
|
| +#if defined(OS_IOS)
|
| + EXPECT_FALSE(WillFillCreditCardNumber(form, *name_field));
|
| +#else
|
| EXPECT_TRUE(WillFillCreditCardNumber(form, *name_field));
|
| +#endif // defined(OS_IOS)
|
| +
|
| // If the user has entered a value, it won't be overridden.
|
| number_field->value = ASCIIToUTF16("gibberish");
|
| EXPECT_TRUE(WillFillCreditCardNumber(form, *number_field));
|
| EXPECT_FALSE(WillFillCreditCardNumber(form, *name_field));
|
| +
|
| + // But if that value is removed, it will be Autofilled (except on iOS).
|
| number_field->value.clear();
|
| +#if defined(OS_IOS)
|
| + EXPECT_FALSE(WillFillCreditCardNumber(form, *name_field));
|
| +#else
|
| EXPECT_TRUE(WillFillCreditCardNumber(form, *name_field));
|
| +#endif // defined(OS_IOS)
|
|
|
| // When part of the section is Autofilled, only fill the initiating field.
|
| month_field->is_autofilled = true;
|
| @@ -3192,11 +3203,29 @@ TEST_F(AutofillManagerTest, DontOfferToSaveWalletCard) {
|
| card.SetTypeForMaskedCard(kVisaCard);
|
|
|
| EXPECT_CALL(autofill_client_, ConfirmSaveCreditCard(_)).Times(0);
|
| +#if defined(OS_IOS)
|
| + EXPECT_CALL(*autofill_driver_, SendFormDataToRenderer(_, _, _)).Times(4);
|
| +#else
|
| EXPECT_CALL(*autofill_driver_, SendFormDataToRenderer(_, _, _));
|
| +#endif // defined(OS_IOS)
|
| autofill_manager_->FillOrPreviewCreditCardForm(
|
| AutofillDriver::FORM_DATA_ACTION_FILL, kDefaultPageID, form,
|
| form.fields[0], card, 0);
|
|
|
| +#if defined(OS_IOS)
|
| + // Filling out the entire form on iOS requires requesting autofill on each of
|
| + // the form fields.
|
| + autofill_manager_->FillOrPreviewCreditCardForm(
|
| + AutofillDriver::FORM_DATA_ACTION_FILL, kDefaultPageID, form,
|
| + form.fields[1], card, 0);
|
| + autofill_manager_->FillOrPreviewCreditCardForm(
|
| + AutofillDriver::FORM_DATA_ACTION_FILL, kDefaultPageID, form,
|
| + form.fields[2], card, 0);
|
| + autofill_manager_->FillOrPreviewCreditCardForm(
|
| + AutofillDriver::FORM_DATA_ACTION_FILL, kDefaultPageID, form,
|
| + form.fields[3], card, 0);
|
| +#endif // defined(OS_IOS)
|
| +
|
| // Manually fill out |form| so we can use it in OnFormSubmitted.
|
| for (size_t i = 0; i < form.fields.size(); ++i) {
|
| if (form.fields[i].name == ASCIIToUTF16("cardnumber"))
|
| @@ -3225,7 +3254,7 @@ TEST_F(AutofillManagerTest, DontOfferToSaveWalletCard) {
|
| }
|
| autofill_manager_->FillOrPreviewCreditCardForm(
|
| AutofillDriver::FORM_DATA_ACTION_FILL, kDefaultPageID, form,
|
| - form.fields[0], card, 0);
|
| + form.fields[1], card, 0);
|
| autofill_manager_->OnUnmaskResponse(response);
|
| autofill_manager_->OnDidGetRealPan(AutofillClient::SUCCESS,
|
| "4012888888881881");
|
|
|