Index: chrome/browser/ui/autofill/autofill_dialog_controller_browsertest.cc |
diff --git a/chrome/browser/ui/autofill/autofill_dialog_controller_browsertest.cc b/chrome/browser/ui/autofill/autofill_dialog_controller_browsertest.cc |
index f4ec2937db9c5f5a870cf5be36d6ad4de1b61496..bc1bf944b7880bfe0542f53f6744bb8277b4aba8 100644 |
--- a/chrome/browser/ui/autofill/autofill_dialog_controller_browsertest.cc |
+++ b/chrome/browser/ui/autofill/autofill_dialog_controller_browsertest.cc |
@@ -556,21 +556,21 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, FillInputFromAutofill) { |
const DetailInputs& inputs = |
controller()->RequestedFieldsForSection(SECTION_SHIPPING); |
- const DetailInput& triggering_input = inputs[0]; |
- base::string16 value = full_profile.GetRawInfo(triggering_input.type); |
+ const ServerFieldType triggering_type = inputs[0].type; |
+ base::string16 value = full_profile.GetRawInfo(triggering_type); |
TestableAutofillDialogView* view = controller()->GetTestableView(); |
- view->SetTextContentsOfInput(triggering_input, |
+ view->SetTextContentsOfInput(triggering_type, |
value.substr(0, value.size() / 2)); |
- view->ActivateInput(triggering_input); |
+ view->ActivateInput(triggering_type); |
- ASSERT_EQ(triggering_input.type, controller()->popup_input_type()); |
+ ASSERT_EQ(triggering_type, controller()->popup_input_type()); |
controller()->DidAcceptSuggestion(base::string16(), 0); |
// All inputs should be filled. |
AutofillProfileWrapper wrapper(&full_profile); |
for (size_t i = 0; i < inputs.size(); ++i) { |
EXPECT_EQ(wrapper.GetInfo(AutofillType(inputs[i].type)), |
- view->GetTextContentsOfInput(inputs[i])); |
+ view->GetTextContentsOfInput(inputs[i].type)); |
} |
// Now simulate some user edits and try again. |
@@ -578,23 +578,23 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, FillInputFromAutofill) { |
for (size_t i = 0; i < inputs.size(); ++i) { |
base::string16 users_input = i % 2 == 0 ? base::string16() |
: ASCIIToUTF16("dummy"); |
- view->SetTextContentsOfInput(inputs[i], users_input); |
+ view->SetTextContentsOfInput(inputs[i].type, users_input); |
// Empty inputs should be filled, others should be left alone. |
base::string16 expectation = |
- &inputs[i] == &triggering_input || users_input.empty() ? |
Dan Beam
2014/01/09 04:31:34
^ stuff like this was the general issue
|
+ inputs[i].type == triggering_type || users_input.empty() ? |
wrapper.GetInfo(AutofillType(inputs[i].type)) : |
users_input; |
expectations.push_back(expectation); |
} |
- view->SetTextContentsOfInput(triggering_input, |
+ view->SetTextContentsOfInput(triggering_type, |
value.substr(0, value.size() / 2)); |
- view->ActivateInput(triggering_input); |
- ASSERT_EQ(triggering_input.type, controller()->popup_input_type()); |
+ view->ActivateInput(triggering_type); |
+ ASSERT_EQ(triggering_type, controller()->popup_input_type()); |
controller()->DidAcceptSuggestion(base::string16(), 0); |
for (size_t i = 0; i < inputs.size(); ++i) { |
- EXPECT_EQ(expectations[i], view->GetTextContentsOfInput(inputs[i])); |
+ EXPECT_EQ(expectations[i], view->GetTextContentsOfInput(inputs[i].type)); |
} |
} |
@@ -609,24 +609,24 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, |
const DetailInputs& inputs = |
controller()->RequestedFieldsForSection(SECTION_SHIPPING); |
- const DetailInput& triggering_input = inputs[0]; |
- base::string16 value = full_profile.GetRawInfo(triggering_input.type); |
+ const ServerFieldType triggering_type = inputs[0].type; |
+ base::string16 value = full_profile.GetRawInfo(triggering_type); |
TestableAutofillDialogView* view = controller()->GetTestableView(); |
- view->SetTextContentsOfInput(triggering_input, |
+ view->SetTextContentsOfInput(triggering_type, |
value.substr(0, value.size() / 2)); |
- view->ActivateInput(triggering_input); |
+ view->ActivateInput(triggering_type); |
- ASSERT_EQ(triggering_input.type, controller()->popup_input_type()); |
+ ASSERT_EQ(triggering_type, controller()->popup_input_type()); |
controller()->DidAcceptSuggestion(base::string16(), 0); |
// All inputs should be filled. |
AutofillProfileWrapper wrapper(&full_profile); |
for (size_t i = 0; i < inputs.size(); ++i) { |
+ const ServerFieldType type = inputs[i].type; |
base::string16 expectation = |
- AutofillType(inputs[i].type).GetStorableType() == ADDRESS_HOME_COUNTRY ? |
- ASCIIToUTF16("United States") : |
- wrapper.GetInfo(AutofillType(inputs[i].type)); |
- EXPECT_EQ(expectation, view->GetTextContentsOfInput(inputs[i])); |
+ AutofillType(type).GetStorableType() == ADDRESS_HOME_COUNTRY ? |
+ ASCIIToUTF16("United States") : wrapper.GetInfo(AutofillType(type)); |
+ EXPECT_EQ(expectation, view->GetTextContentsOfInput(type)); |
} |
// Now simulate some user edits and try again. |
@@ -634,10 +634,10 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, |
for (size_t i = 0; i < inputs.size(); ++i) { |
base::string16 users_input = i % 2 == 0 ? base::string16() |
: ASCIIToUTF16("dummy"); |
- view->SetTextContentsOfInput(inputs[i], users_input); |
+ view->SetTextContentsOfInput(inputs[i].type, users_input); |
// Empty inputs should be filled, others should be left alone. |
base::string16 expectation = |
- &inputs[i] == &triggering_input || users_input.empty() ? |
+ inputs[i].type == triggering_type || users_input.empty() ? |
wrapper.GetInfo(AutofillType(inputs[i].type)) : |
users_input; |
if (AutofillType(inputs[i].type).GetStorableType() == ADDRESS_HOME_COUNTRY) |
@@ -646,14 +646,14 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, |
expectations.push_back(expectation); |
} |
- view->SetTextContentsOfInput(triggering_input, |
+ view->SetTextContentsOfInput(triggering_type, |
value.substr(0, value.size() / 2)); |
- view->ActivateInput(triggering_input); |
- ASSERT_EQ(triggering_input.type, controller()->popup_input_type()); |
+ view->ActivateInput(triggering_type); |
+ ASSERT_EQ(triggering_type, controller()->popup_input_type()); |
controller()->DidAcceptSuggestion(base::string16(), 0); |
for (size_t i = 0; i < inputs.size(); ++i) { |
- EXPECT_EQ(expectations[i], view->GetTextContentsOfInput(inputs[i])); |
+ EXPECT_EQ(expectations[i], view->GetTextContentsOfInput(inputs[i].type)); |
} |
} |
@@ -676,12 +676,12 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, |
const DetailInputs& inputs = |
controller()->RequestedFieldsForSection(SECTION_BILLING); |
- const DetailInput& triggering_input = inputs[0]; |
- EXPECT_EQ(NAME_BILLING_FULL, triggering_input.type); |
+ const ServerFieldType triggering_type = inputs[0].type; |
+ EXPECT_EQ(NAME_BILLING_FULL, triggering_type); |
TestableAutofillDialogView* view = controller()->GetTestableView(); |
- view->ActivateInput(triggering_input); |
+ view->ActivateInput(triggering_type); |
- ASSERT_EQ(triggering_input.type, controller()->popup_input_type()); |
+ ASSERT_EQ(triggering_type, controller()->popup_input_type()); |
// Choose the variant suggestion. |
controller()->DidAcceptSuggestion(base::string16(), 1); |
@@ -691,7 +691,7 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, |
&full_profile, AutofillType(NAME_BILLING_FULL), 1); |
for (size_t i = 0; i < inputs.size(); ++i) { |
EXPECT_EQ(wrapper.GetInfo(AutofillType(inputs[i].type)), |
- view->GetTextContentsOfInput(inputs[i])); |
+ view->GetTextContentsOfInput(inputs[i].type)); |
} |
// Make sure the wrapper applies the variant index to the right group. |
@@ -722,72 +722,72 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, |
const DetailInputs& inputs = |
controller()->RequestedFieldsForSection(SECTION_CC); |
- const DetailInput& triggering_input = inputs[0]; |
- base::string16 value = card1.GetRawInfo(triggering_input.type); |
+ const ServerFieldType triggering_type = inputs[0].type; |
+ base::string16 value = card1.GetRawInfo(triggering_type); |
TestableAutofillDialogView* view = controller()->GetTestableView(); |
- view->SetTextContentsOfInput(triggering_input, |
+ view->SetTextContentsOfInput(triggering_type, |
value.substr(0, value.size() / 2)); |
- view->ActivateInput(triggering_input); |
+ view->ActivateInput(triggering_type); |
- ASSERT_EQ(triggering_input.type, controller()->popup_input_type()); |
+ ASSERT_EQ(triggering_type, controller()->popup_input_type()); |
controller()->DidAcceptSuggestion(base::string16(), 0); |
// All inputs should be filled. |
AutofillCreditCardWrapper wrapper1(&card1); |
for (size_t i = 0; i < inputs.size(); ++i) { |
EXPECT_EQ(wrapper1.GetInfo(AutofillType(inputs[i].type)), |
- view->GetTextContentsOfInput(inputs[i])); |
+ view->GetTextContentsOfInput(inputs[i].type)); |
} |
// Try again with different data. Only expiration date and the triggering |
// input should be overwritten. |
- value = card2.GetRawInfo(triggering_input.type); |
- view->SetTextContentsOfInput(triggering_input, |
+ value = card2.GetRawInfo(triggering_type); |
+ view->SetTextContentsOfInput(triggering_type, |
value.substr(0, value.size() / 2)); |
- view->ActivateInput(triggering_input); |
- ASSERT_EQ(triggering_input.type, controller()->popup_input_type()); |
+ view->ActivateInput(triggering_type); |
+ ASSERT_EQ(triggering_type, controller()->popup_input_type()); |
controller()->DidAcceptSuggestion(base::string16(), 0); |
AutofillCreditCardWrapper wrapper2(&card2); |
for (size_t i = 0; i < inputs.size(); ++i) { |
- const DetailInput& input = inputs[i]; |
- if (&input == &triggering_input || |
- input.type == CREDIT_CARD_EXP_MONTH || |
- input.type == CREDIT_CARD_EXP_4_DIGIT_YEAR) { |
- EXPECT_EQ(wrapper2.GetInfo(AutofillType(input.type)), |
- view->GetTextContentsOfInput(input)); |
- } else if (input.type == CREDIT_CARD_VERIFICATION_CODE) { |
- EXPECT_TRUE(view->GetTextContentsOfInput(input).empty()); |
+ const ServerFieldType type = inputs[i].type; |
+ if (type == triggering_type || |
+ type == CREDIT_CARD_EXP_MONTH || |
+ type == CREDIT_CARD_EXP_4_DIGIT_YEAR) { |
+ EXPECT_EQ(wrapper2.GetInfo(AutofillType(type)), |
+ view->GetTextContentsOfInput(type)); |
+ } else if (type == CREDIT_CARD_VERIFICATION_CODE) { |
+ EXPECT_TRUE(view->GetTextContentsOfInput(type).empty()); |
} else { |
- EXPECT_EQ(wrapper1.GetInfo(AutofillType(input.type)), |
- view->GetTextContentsOfInput(input)); |
+ EXPECT_EQ(wrapper1.GetInfo(AutofillType(type)), |
+ view->GetTextContentsOfInput(type)); |
} |
} |
// Now fill from a profile. It should not overwrite any CC info. |
const DetailInputs& billing_inputs = |
controller()->RequestedFieldsForSection(SECTION_BILLING); |
- const DetailInput& billing_triggering_input = billing_inputs[0]; |
- value = full_profile.GetRawInfo(triggering_input.type); |
- view->SetTextContentsOfInput(billing_triggering_input, |
+ const ServerFieldType billing_triggering_type = billing_inputs[0].type; |
+ value = full_profile.GetRawInfo(triggering_type); |
+ view->SetTextContentsOfInput(billing_triggering_type, |
value.substr(0, value.size() / 2)); |
- view->ActivateInput(billing_triggering_input); |
+ view->ActivateInput(billing_triggering_type); |
- ASSERT_EQ(billing_triggering_input.type, controller()->popup_input_type()); |
+ ASSERT_EQ(billing_triggering_type, controller()->popup_input_type()); |
controller()->DidAcceptSuggestion(base::string16(), 0); |
for (size_t i = 0; i < inputs.size(); ++i) { |
- const DetailInput& input = inputs[i]; |
- if (&input == &triggering_input || |
- input.type == CREDIT_CARD_EXP_MONTH || |
- input.type == CREDIT_CARD_EXP_4_DIGIT_YEAR) { |
- EXPECT_EQ(wrapper2.GetInfo(AutofillType(input.type)), |
- view->GetTextContentsOfInput(input)); |
- } else if (input.type == CREDIT_CARD_VERIFICATION_CODE) { |
- EXPECT_TRUE(view->GetTextContentsOfInput(input).empty()); |
+ const ServerFieldType type = inputs[i].type; |
+ if (type == triggering_type || |
+ type == CREDIT_CARD_EXP_MONTH || |
+ type == CREDIT_CARD_EXP_4_DIGIT_YEAR) { |
+ EXPECT_EQ(wrapper2.GetInfo(AutofillType(type)), |
+ view->GetTextContentsOfInput(type)); |
+ } else if (type == CREDIT_CARD_VERIFICATION_CODE) { |
+ EXPECT_TRUE(view->GetTextContentsOfInput(type).empty()); |
} else { |
- EXPECT_EQ(wrapper1.GetInfo(AutofillType(input.type)), |
- view->GetTextContentsOfInput(input)); |
+ EXPECT_EQ(wrapper1.GetInfo(AutofillType(type)), |
+ view->GetTextContentsOfInput(type)); |
} |
} |
} |
@@ -799,17 +799,12 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, ShouldShowErrorBubble) { |
ASSERT_FALSE(card.IsVerified()); |
controller()->GetTestingManager()->AddTestingCreditCard(&card); |
- const DetailInputs& cc_inputs = |
- controller()->RequestedFieldsForSection(SECTION_CC); |
- const DetailInput& cc_number_input = cc_inputs[0]; |
- ASSERT_EQ(CREDIT_CARD_NUMBER, cc_number_input.type); |
- |
TestableAutofillDialogView* view = controller()->GetTestableView(); |
view->SetTextContentsOfInput( |
- cc_number_input, |
+ CREDIT_CARD_NUMBER, |
card.GetRawInfo(CREDIT_CARD_NUMBER).substr(0, 1)); |
- view->ActivateInput(cc_number_input); |
+ view->ActivateInput(CREDIT_CARD_NUMBER); |
EXPECT_FALSE(controller()->ShouldShowErrorBubble()); |
controller()->FocusMoved(); |
@@ -955,20 +950,11 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, MAYBE_PreservedSections) { |
controller()->set_use_validation(true); |
TestableAutofillDialogView* view = controller()->GetTestableView(); |
- |
- { |
- // Create some valid inputted billing data. |
- const DetailInput& cc_number = |
- controller()->RequestedFieldsForSection(SECTION_CC)[0]; |
- EXPECT_EQ(cc_number.type, CREDIT_CARD_NUMBER); |
- view->SetTextContentsOfInput(cc_number, ASCIIToUTF16("4111111111111111")); |
- } |
+ view->SetTextContentsOfInput(CREDIT_CARD_NUMBER, |
+ ASCIIToUTF16("4111111111111111")); |
// Create some invalid, manually inputted shipping data. |
- const DetailInput& shipping_zip = |
- controller()->RequestedFieldsForSection(SECTION_SHIPPING)[5]; |
- ASSERT_EQ(ADDRESS_HOME_ZIP, shipping_zip.type); |
- view->SetTextContentsOfInput(shipping_zip, ASCIIToUTF16("shipping zip")); |
+ view->SetTextContentsOfInput(ADDRESS_HOME_ZIP, ASCIIToUTF16("shipping zip")); |
// Switch to Wallet by simulating a successful server response. |
controller()->OnDidFetchWalletCookieValue(std::string()); |
@@ -976,31 +962,21 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, MAYBE_PreservedSections) { |
wallet::GetTestWalletItems(wallet::AMEX_DISALLOWED)); |
ASSERT_TRUE(controller()->IsPayingWithWallet()); |
- { |
- // The valid data should be preserved. |
- const DetailInput& cc_number = |
- controller()->RequestedFieldsForSection(SECTION_CC_BILLING)[0]; |
- EXPECT_EQ(cc_number.type, CREDIT_CARD_NUMBER); |
- EXPECT_EQ(ASCIIToUTF16("4111111111111111"), |
- view->GetTextContentsOfInput(cc_number)); |
- } |
+ // The valid data should be preserved. |
+ EXPECT_EQ(ASCIIToUTF16("4111111111111111"), |
+ view->GetTextContentsOfInput(CREDIT_CARD_NUMBER)); |
// The invalid data should be dropped. |
- EXPECT_TRUE(view->GetTextContentsOfInput(shipping_zip).empty()); |
+ EXPECT_TRUE(view->GetTextContentsOfInput(ADDRESS_HOME_ZIP).empty()); |
// Switch back to Autofill. |
ui::MenuModel* account_chooser = controller()->MenuModelForAccountChooser(); |
account_chooser->ActivatedAt(account_chooser->GetItemCount() - 1); |
ASSERT_FALSE(controller()->IsPayingWithWallet()); |
- { |
- // The valid data should still be preserved when switched back. |
- const DetailInput& cc_number = |
- controller()->RequestedFieldsForSection(SECTION_CC)[0]; |
- EXPECT_EQ(cc_number.type, CREDIT_CARD_NUMBER); |
- EXPECT_EQ(ASCIIToUTF16("4111111111111111"), |
- view->GetTextContentsOfInput(cc_number)); |
- } |
+ // The valid data should still be preserved when switched back. |
+ EXPECT_EQ(ASCIIToUTF16("4111111111111111"), |
+ view->GetTextContentsOfInput(CREDIT_CARD_NUMBER)); |
} |
#endif // defined(TOOLKIT_VIEWS) || defined(OS_MACOSX) |
@@ -1224,21 +1200,18 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, AddNewClearsComboboxes) { |
controller()->MenuModelForSection(SECTION_CC)->ActivatedAt(0); |
EXPECT_TRUE(controller()->IsEditingExistingData(SECTION_CC)); |
- const DetailInputs& inputs = |
- controller()->RequestedFieldsForSection(SECTION_CC); |
- const DetailInput& cc_exp_month = inputs[1]; |
- ASSERT_EQ(CREDIT_CARD_EXP_MONTH, cc_exp_month.type); |
- |
// Get the contents of the combobox of the credit card's expiration month. |
TestableAutofillDialogView* view = controller()->GetTestableView(); |
- base::string16 cc_exp_month_text = view->GetTextContentsOfInput(cc_exp_month); |
+ base::string16 cc_exp_month_text = |
+ view->GetTextContentsOfInput(CREDIT_CARD_EXP_MONTH); |
// Select "New X..." from the suggestion menu to clear the section's inputs. |
controller()->MenuModelForSection(SECTION_CC)->ActivatedAt(1); |
EXPECT_FALSE(controller()->IsEditingExistingData(SECTION_CC)); |
// Ensure that the credit card expiration month has changed. |
- EXPECT_NE(cc_exp_month_text, view->GetTextContentsOfInput(cc_exp_month)); |
+ EXPECT_NE(cc_exp_month_text, |
+ view->GetTextContentsOfInput(CREDIT_CARD_EXP_MONTH)); |
} |
IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, TabOpensToJustRight) { |