| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <map> | 5 #include <map> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/guid.h" | 9 #include "base/guid.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 | 297 |
| 298 // Returns the number of times that the submit button was delayed. | 298 // Returns the number of times that the submit button was delayed. |
| 299 int get_submit_button_delay_count() const { | 299 int get_submit_button_delay_count() const { |
| 300 return submit_button_delay_count_; | 300 return submit_button_delay_count_; |
| 301 } | 301 } |
| 302 | 302 |
| 303 MOCK_METHOD0(LoadRiskFingerprintData, void()); | 303 MOCK_METHOD0(LoadRiskFingerprintData, void()); |
| 304 using AutofillDialogControllerImpl::AccountChooserModelForTesting; | 304 using AutofillDialogControllerImpl::AccountChooserModelForTesting; |
| 305 using AutofillDialogControllerImpl::OnDidLoadRiskFingerprintData; | 305 using AutofillDialogControllerImpl::OnDidLoadRiskFingerprintData; |
| 306 using AutofillDialogControllerImpl::IsEditingExistingData; | 306 using AutofillDialogControllerImpl::IsEditingExistingData; |
| 307 using AutofillDialogControllerImpl::IsManuallyEditingSection; |
| 307 using AutofillDialogControllerImpl::IsSubmitPausedOn; | 308 using AutofillDialogControllerImpl::IsSubmitPausedOn; |
| 308 using AutofillDialogControllerImpl::NOT_CHECKED; | 309 using AutofillDialogControllerImpl::NOT_CHECKED; |
| 309 using AutofillDialogControllerImpl::SignedInState; | 310 using AutofillDialogControllerImpl::SignedInState; |
| 310 | 311 |
| 311 protected: | 312 protected: |
| 312 virtual PersonalDataManager* GetManager() const OVERRIDE { | 313 virtual PersonalDataManager* GetManager() const OVERRIDE { |
| 313 return const_cast<TestAutofillDialogController*>(this)-> | 314 return const_cast<TestAutofillDialogController*>(this)-> |
| 314 GetTestingManager(); | 315 GetTestingManager(); |
| 315 } | 316 } |
| 316 | 317 |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 546 return true; | 547 return true; |
| 547 } | 548 } |
| 548 return false; | 549 return false; |
| 549 } | 550 } |
| 550 | 551 |
| 551 SuggestionsMenuModel* GetMenuModelForSection(DialogSection section) { | 552 SuggestionsMenuModel* GetMenuModelForSection(DialogSection section) { |
| 552 ui::MenuModel* model = controller()->MenuModelForSection(section); | 553 ui::MenuModel* model = controller()->MenuModelForSection(section); |
| 553 return static_cast<SuggestionsMenuModel*>(model); | 554 return static_cast<SuggestionsMenuModel*>(model); |
| 554 } | 555 } |
| 555 | 556 |
| 557 void SubmitAndVerifyShippingAndBillingResults() { |
| 558 // Test after setting use billing for shipping. |
| 559 UseBillingForShipping(); |
| 560 |
| 561 controller()->OnAccept(); |
| 562 |
| 563 ASSERT_EQ(20U, form_structure()->field_count()); |
| 564 EXPECT_EQ(ADDRESS_HOME_COUNTRY, |
| 565 form_structure()->field(11)->Type().GetStorableType()); |
| 566 EXPECT_EQ(ADDRESS_BILLING, form_structure()->field(11)->Type().group()); |
| 567 EXPECT_EQ(ADDRESS_HOME_COUNTRY, |
| 568 form_structure()->field(18)->Type().GetStorableType()); |
| 569 EXPECT_EQ(ADDRESS_HOME, form_structure()->field(18)->Type().group()); |
| 570 base::string16 billing_country = form_structure()->field(11)->value; |
| 571 EXPECT_EQ(2U, billing_country.size()); |
| 572 base::string16 shipping_country = form_structure()->field(18)->value; |
| 573 EXPECT_EQ(2U, shipping_country.size()); |
| 574 EXPECT_FALSE(billing_country.empty()); |
| 575 EXPECT_FALSE(shipping_country.empty()); |
| 576 EXPECT_EQ(billing_country, shipping_country); |
| 577 |
| 578 EXPECT_EQ(CREDIT_CARD_NAME, |
| 579 form_structure()->field(1)->Type().GetStorableType()); |
| 580 base::string16 cc_name = form_structure()->field(1)->value; |
| 581 EXPECT_EQ(NAME_FULL, form_structure()->field(6)->Type().GetStorableType()); |
| 582 EXPECT_EQ(NAME_BILLING, form_structure()->field(6)->Type().group()); |
| 583 base::string16 billing_name = form_structure()->field(6)->value; |
| 584 EXPECT_EQ(NAME_FULL, form_structure()->field(13)->Type().GetStorableType()); |
| 585 EXPECT_EQ(NAME, form_structure()->field(13)->Type().group()); |
| 586 base::string16 shipping_name = form_structure()->field(13)->value; |
| 587 |
| 588 EXPECT_FALSE(cc_name.empty()); |
| 589 EXPECT_FALSE(billing_name.empty()); |
| 590 EXPECT_FALSE(shipping_name.empty()); |
| 591 EXPECT_EQ(cc_name, billing_name); |
| 592 EXPECT_EQ(cc_name, shipping_name); |
| 593 } |
| 594 |
| 556 TestAutofillDialogController* controller() { return controller_.get(); } | 595 TestAutofillDialogController* controller() { return controller_.get(); } |
| 557 | 596 |
| 558 const FormStructure* form_structure() { return form_structure_; } | 597 const FormStructure* form_structure() { return form_structure_; } |
| 559 | 598 |
| 560 TestGeneratedCreditCardBubbleController* test_generated_bubble_controller() { | 599 TestGeneratedCreditCardBubbleController* test_generated_bubble_controller() { |
| 561 return test_generated_bubble_controller_; | 600 return test_generated_bubble_controller_; |
| 562 } | 601 } |
| 563 | 602 |
| 564 const MockNewCreditCardBubbleController* mock_new_card_bubble_controller() { | 603 const MockNewCreditCardBubbleController* mock_new_card_bubble_controller() { |
| 565 return mock_new_card_bubble_controller_.get(); | 604 return mock_new_card_bubble_controller_.get(); |
| (...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1088 EXPECT_FALSE(billing_name.empty()); | 1127 EXPECT_FALSE(billing_name.empty()); |
| 1089 EXPECT_FALSE(shipping_name.empty()); | 1128 EXPECT_FALSE(shipping_name.empty()); |
| 1090 // Billing name should always be the same as cardholder name. | 1129 // Billing name should always be the same as cardholder name. |
| 1091 EXPECT_EQ(cc_name, billing_name); | 1130 EXPECT_EQ(cc_name, billing_name); |
| 1092 EXPECT_NE(cc_name, shipping_name); | 1131 EXPECT_NE(cc_name, shipping_name); |
| 1093 } | 1132 } |
| 1094 | 1133 |
| 1095 // Test selecting UseBillingForShipping. | 1134 // Test selecting UseBillingForShipping. |
| 1096 TEST_F(AutofillDialogControllerTest, UseBillingAsShipping) { | 1135 TEST_F(AutofillDialogControllerTest, UseBillingAsShipping) { |
| 1097 SwitchToAutofill(); | 1136 SwitchToAutofill(); |
| 1137 |
| 1098 AutofillProfile full_profile(test::GetVerifiedProfile()); | 1138 AutofillProfile full_profile(test::GetVerifiedProfile()); |
| 1139 controller()->GetTestingManager()->AddTestingProfile(&full_profile); |
| 1140 |
| 1099 AutofillProfile full_profile2(test::GetVerifiedProfile2()); | 1141 AutofillProfile full_profile2(test::GetVerifiedProfile2()); |
| 1142 controller()->GetTestingManager()->AddTestingProfile(&full_profile2); |
| 1143 |
| 1100 CreditCard credit_card(test::GetVerifiedCreditCard()); | 1144 CreditCard credit_card(test::GetVerifiedCreditCard()); |
| 1101 controller()->GetTestingManager()->AddTestingProfile(&full_profile); | |
| 1102 controller()->GetTestingManager()->AddTestingProfile(&full_profile2); | |
| 1103 controller()->GetTestingManager()->AddTestingCreditCard(&credit_card); | 1145 controller()->GetTestingManager()->AddTestingCreditCard(&credit_card); |
| 1104 | 1146 |
| 1105 // Test after setting use billing for shipping. | 1147 ASSERT_FALSE(controller()->IsManuallyEditingSection(SECTION_CC)); |
| 1106 UseBillingForShipping(); | 1148 ASSERT_FALSE(controller()->IsManuallyEditingSection(SECTION_BILLING)); |
| 1107 | 1149 |
| 1108 controller()->OnAccept(); | 1150 SubmitAndVerifyShippingAndBillingResults(); |
| 1109 ASSERT_EQ(20U, form_structure()->field_count()); | 1151 } |
| 1110 EXPECT_EQ(ADDRESS_HOME_STATE, | |
| 1111 form_structure()->field(9)->Type().GetStorableType()); | |
| 1112 EXPECT_EQ(ADDRESS_BILLING, form_structure()->field(9)->Type().group()); | |
| 1113 EXPECT_EQ(ADDRESS_HOME_STATE, | |
| 1114 form_structure()->field(16)->Type().GetStorableType()); | |
| 1115 EXPECT_EQ(ADDRESS_HOME, form_structure()->field(16)->Type().group()); | |
| 1116 base::string16 billing_state = form_structure()->field(9)->value; | |
| 1117 base::string16 shipping_state = form_structure()->field(16)->value; | |
| 1118 EXPECT_FALSE(billing_state.empty()); | |
| 1119 EXPECT_FALSE(shipping_state.empty()); | |
| 1120 EXPECT_EQ(billing_state, shipping_state); | |
| 1121 | 1152 |
| 1122 EXPECT_EQ(CREDIT_CARD_NAME, | 1153 TEST_F(AutofillDialogControllerTest, UseBillingAsShippingManualInput) { |
| 1123 form_structure()->field(1)->Type().GetStorableType()); | 1154 SwitchToAutofill(); |
| 1124 base::string16 cc_name = form_structure()->field(1)->value; | |
| 1125 EXPECT_EQ(NAME_FULL, form_structure()->field(6)->Type().GetStorableType()); | |
| 1126 EXPECT_EQ(NAME_BILLING, form_structure()->field(6)->Type().group()); | |
| 1127 base::string16 billing_name = form_structure()->field(6)->value; | |
| 1128 EXPECT_EQ(NAME_FULL, form_structure()->field(13)->Type().GetStorableType()); | |
| 1129 EXPECT_EQ(NAME, form_structure()->field(13)->Type().group()); | |
| 1130 base::string16 shipping_name = form_structure()->field(13)->value; | |
| 1131 | 1155 |
| 1132 EXPECT_FALSE(cc_name.empty()); | 1156 ASSERT_TRUE(controller()->IsManuallyEditingSection(SECTION_CC)); |
| 1133 EXPECT_FALSE(billing_name.empty()); | 1157 ASSERT_TRUE(controller()->IsManuallyEditingSection(SECTION_BILLING)); |
| 1134 EXPECT_FALSE(shipping_name.empty()); | 1158 |
| 1135 EXPECT_EQ(cc_name, billing_name); | 1159 CreditCard credit_card(test::GetVerifiedCreditCard()); |
| 1136 EXPECT_EQ(cc_name, shipping_name); | 1160 FillInputs(SECTION_CC, credit_card); |
| 1161 |
| 1162 AutofillProfile full_profile(test::GetVerifiedProfile()); |
| 1163 FillInputs(SECTION_BILLING, full_profile); |
| 1164 |
| 1165 SubmitAndVerifyShippingAndBillingResults(); |
| 1137 } | 1166 } |
| 1138 | 1167 |
| 1139 // Tests that shipping and billing telephone fields are supported, and filled | 1168 // Tests that shipping and billing telephone fields are supported, and filled |
| 1140 // in by their respective profiles. http://crbug.com/244515 | 1169 // in by their respective profiles. http://crbug.com/244515 |
| 1141 TEST_F(AutofillDialogControllerTest, BillingVsShippingPhoneNumber) { | 1170 TEST_F(AutofillDialogControllerTest, BillingVsShippingPhoneNumber) { |
| 1142 FormFieldData shipping_tel; | 1171 FormFieldData shipping_tel; |
| 1143 shipping_tel.autocomplete_attribute = "shipping tel"; | 1172 shipping_tel.autocomplete_attribute = "shipping tel"; |
| 1144 FormFieldData billing_tel; | 1173 FormFieldData billing_tel; |
| 1145 billing_tel.autocomplete_attribute = "billing tel"; | 1174 billing_tel.autocomplete_attribute = "billing tel"; |
| 1146 | 1175 |
| (...skipping 1616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2763 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 2792 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| 2764 for (size_t i = 0; i < arraysize(kSupportedCardIdrs); ++i) { | 2793 for (size_t i = 0; i < arraysize(kSupportedCardIdrs); ++i) { |
| 2765 SCOPED_TRACE(base::IntToString(i)); | 2794 SCOPED_TRACE(base::IntToString(i)); |
| 2766 gfx::Image supported_card_icon = rb.GetImageNamed(kSupportedCardIdrs[i]); | 2795 gfx::Image supported_card_icon = rb.GetImageNamed(kSupportedCardIdrs[i]); |
| 2767 EXPECT_GE(placeholder_icon.Width(), supported_card_icon.Width()); | 2796 EXPECT_GE(placeholder_icon.Width(), supported_card_icon.Width()); |
| 2768 EXPECT_GE(placeholder_icon.Height(), supported_card_icon.Height()); | 2797 EXPECT_GE(placeholder_icon.Height(), supported_card_icon.Height()); |
| 2769 } | 2798 } |
| 2770 } | 2799 } |
| 2771 | 2800 |
| 2772 } // namespace autofill | 2801 } // namespace autofill |
| OLD | NEW |