Chromium Code Reviews| 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 09433dcaa3f95ef7a2da44f7feb8f0e3387f78f5..0c6a0cf9ff406e10dfe4980a8bc9721da7b2eb23 100644 |
| --- a/chrome/browser/ui/autofill/autofill_dialog_controller_browsertest.cc |
| +++ b/chrome/browser/ui/autofill/autofill_dialog_controller_browsertest.cc |
| @@ -672,11 +672,15 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, FillInputFromAutofill) { |
| full_profile.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, formatted_phone); |
| controller()->GetTestingManager()->AddTestingProfile(&full_profile); |
| + // Adding a new billing address. |
|
groby-ooo-7-16
2014/06/30 22:01:31
Who is adding that address? Not sure I get what th
Evan Stade
2014/06/30 22:16:46
sorry, should read: "Dialog is already asking for
|
| + EXPECT_TRUE(controller()->IsManuallyEditingSection(SECTION_BILLING)); |
| + |
| // Select "Add new shipping address...". |
| ui::MenuModel* model = controller()->MenuModelForSection(SECTION_SHIPPING); |
| model->ActivatedAt(model->GetItemCount() - 2); |
| ASSERT_TRUE(controller()->IsManuallyEditingSection(SECTION_SHIPPING)); |
| + // Enter something in a shipping input. |
| const DetailInputs& inputs = |
| controller()->RequestedFieldsForSection(SECTION_SHIPPING); |
| const ServerFieldType triggering_type = inputs[0].type; |
| @@ -700,6 +704,21 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, FillInputFromAutofill) { |
| EXPECT_EQ(formatted_phone, view->GetTextContentsOfInput(inputs[i].type)); |
| } |
| + // Inputs from the other section (billing) should be left alone. |
| + const DetailInputs& other_section_inputs = |
| + controller()->RequestedFieldsForSection(SECTION_BILLING); |
| + for (size_t i = 0; i < inputs.size(); ++i) { |
| + base::string16 input_value = |
| + view->GetTextContentsOfInput(other_section_inputs[i].type); |
| + // If there's a combobox, the string should be non-empty. |
| + if (controller()->ComboboxModelForAutofillType( |
| + other_section_inputs[i].type)) { |
| + EXPECT_NE(base::string16(), input_value); |
| + } else { |
| + EXPECT_EQ(base::string16(), input_value); |
| + } |
| + } |
| + |
| // Now simulate some user edits and try again. |
| std::vector<base::string16> expectations; |
| for (size_t i = 0; i < inputs.size(); ++i) { |
| @@ -1671,15 +1690,16 @@ IN_PROC_BROWSER_TEST_F(AutofillDialogControllerTest, |
| ASSERT_EQ(ASCIIToUTF16("United States"), |
| view->GetTextContentsOfInput(ADDRESS_HOME_COUNTRY)); |
| - base::string16 name = full_profile.GetRawInfo(NAME_FULL); |
| - view->SetTextContentsOfInput(NAME_FULL, name.substr(0, name.size() / 2)); |
| - view->ActivateInput(NAME_FULL); |
| - ASSERT_EQ(NAME_FULL, controller()->popup_input_type()); |
| + const ServerFieldType input_type = EMAIL_ADDRESS; |
| + base::string16 name = full_profile.GetRawInfo(input_type); |
| + view->SetTextContentsOfInput(input_type, name.substr(0, name.size() / 2)); |
| + view->ActivateInput(input_type); |
| + ASSERT_EQ(input_type, controller()->popup_input_type()); |
| controller()->DidAcceptSuggestion(base::string16(), 0); |
| EXPECT_EQ(ASCIIToUTF16("Germany"), |
| view->GetTextContentsOfInput(ADDRESS_BILLING_COUNTRY)); |
| - EXPECT_EQ(ASCIIToUTF16("Germany"), |
| + EXPECT_EQ(ASCIIToUTF16("United States"), |
| view->GetTextContentsOfInput(ADDRESS_HOME_COUNTRY)); |
| } |