Chromium Code Reviews| 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 "base/guid.h" | 5 #include "base/guid.h" |
| 6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
| 7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "chrome/browser/ui/autofill/autofill_dialog_controller_impl.h" | 10 #include "chrome/browser/ui/autofill/autofill_dialog_controller_impl.h" |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 301 for (size_t i = 0; i < arraysize(kFieldsFromPage); ++i) { | 301 for (size_t i = 0; i < arraysize(kFieldsFromPage); ++i) { |
| 302 FormFieldData field; | 302 FormFieldData field; |
| 303 field.autocomplete_attribute = kFieldsFromPage[i]; | 303 field.autocomplete_attribute = kFieldsFromPage[i]; |
| 304 form_data.fields.push_back(field); | 304 form_data.fields.push_back(field); |
| 305 } | 305 } |
| 306 | 306 |
| 307 profile()->CreateRequestContext(); | 307 profile()->CreateRequestContext(); |
| 308 test_web_contents_.reset( | 308 test_web_contents_.reset( |
| 309 content::WebContentsTester::CreateTestWebContents(profile(), NULL)); | 309 content::WebContentsTester::CreateTestWebContents(profile(), NULL)); |
| 310 | 310 |
| 311 SetUpControllerWithFormData(form_data); | |
| 312 } | |
| 313 | |
| 314 virtual void TearDown() OVERRIDE { | |
| 315 if (controller_) | |
| 316 controller_->ViewClosed(); | |
| 317 } | |
| 318 | |
| 319 protected: | |
| 320 void SetUpControllerWithFormData(const FormData& form_data) { | |
| 321 if (controller_) | |
| 322 controller_->ViewClosed(); | |
| 323 | |
| 311 base::Callback<void(const FormStructure*, const std::string&)> callback = | 324 base::Callback<void(const FormStructure*, const std::string&)> callback = |
| 312 base::Bind(&AutofillDialogControllerTest::FinishedCallback, | 325 base::Bind(&AutofillDialogControllerTest::FinishedCallback, |
| 313 base::Unretained(this)); | 326 base::Unretained(this)); |
| 314 controller_ = (new testing::NiceMock<TestAutofillDialogController>( | 327 controller_ = (new testing::NiceMock<TestAutofillDialogController>( |
| 315 test_web_contents_.get(), | 328 test_web_contents_.get(), |
| 316 form_data, | 329 form_data, |
| 317 GURL(), | 330 GURL(), |
| 318 metric_logger_, | 331 metric_logger_, |
| 319 DIALOG_TYPE_REQUEST_AUTOCOMPLETE, | 332 DIALOG_TYPE_REQUEST_AUTOCOMPLETE, |
| 320 callback))->AsWeakPtr(); | 333 callback))->AsWeakPtr(); |
| 321 controller_->Init(profile()); | 334 controller_->Init(profile()); |
| 322 controller_->Show(); | 335 controller_->Show(); |
| 323 controller_->OnUserNameFetchSuccess(kFakeEmail); | 336 controller_->OnUserNameFetchSuccess(kFakeEmail); |
| 324 } | 337 } |
| 325 | 338 |
| 326 virtual void TearDown() OVERRIDE { | |
| 327 if (controller_) | |
| 328 controller_->ViewClosed(); | |
| 329 } | |
| 330 | |
| 331 protected: | |
| 332 void FillCreditCardInputs() { | 339 void FillCreditCardInputs() { |
| 333 DetailOutputMap cc_outputs; | 340 DetailOutputMap cc_outputs; |
| 334 const DetailInputs& cc_inputs = | 341 const DetailInputs& cc_inputs = |
| 335 controller()->RequestedFieldsForSection(SECTION_CC); | 342 controller()->RequestedFieldsForSection(SECTION_CC); |
| 336 for (size_t i = 0; i < cc_inputs.size(); ++i) { | 343 for (size_t i = 0; i < cc_inputs.size(); ++i) { |
| 337 cc_outputs[&cc_inputs[i]] = ASCIIToUTF16("11"); | 344 cc_outputs[&cc_inputs[i]] = ASCIIToUTF16("11"); |
| 338 } | 345 } |
| 339 controller()->GetView()->SetUserInput(SECTION_CC, cc_outputs); | 346 controller()->GetView()->SetUserInput(SECTION_CC, cc_outputs); |
| 340 } | 347 } |
| 341 | 348 |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 713 UseBillingForShipping(); | 720 UseBillingForShipping(); |
| 714 | 721 |
| 715 controller()->OnAccept(); | 722 controller()->OnAccept(); |
| 716 ASSERT_EQ(4U, form_structure()->field_count()); | 723 ASSERT_EQ(4U, form_structure()->field_count()); |
| 717 EXPECT_EQ("CA", UTF16ToUTF8(form_structure()->field(2)->value)); | 724 EXPECT_EQ("CA", UTF16ToUTF8(form_structure()->field(2)->value)); |
| 718 EXPECT_EQ("CA", UTF16ToUTF8(form_structure()->field(3)->value)); | 725 EXPECT_EQ("CA", UTF16ToUTF8(form_structure()->field(3)->value)); |
| 719 EXPECT_EQ(ADDRESS_BILLING_STATE, form_structure()->field(2)->type()); | 726 EXPECT_EQ(ADDRESS_BILLING_STATE, form_structure()->field(2)->type()); |
| 720 EXPECT_EQ(ADDRESS_HOME_STATE, form_structure()->field(3)->type()); | 727 EXPECT_EQ(ADDRESS_HOME_STATE, form_structure()->field(3)->type()); |
| 721 } | 728 } |
| 722 | 729 |
| 730 // Tests that shipping and billing telephone fields are supported, and filled | |
| 731 // in by their respective profiles. http://crbug.com/244515 | |
| 732 TEST_F(AutofillDialogControllerTest, DISABLED_BillingVsShippingPhoneNumber) { | |
| 733 FormFieldData shipping_tel; | |
| 734 shipping_tel.autocomplete_attribute = "shipping tel"; | |
| 735 FormFieldData billing_tel; | |
| 736 billing_tel.autocomplete_attribute = "billing tel"; | |
| 737 | |
| 738 FormData form_data; | |
| 739 form_data.fields.push_back(shipping_tel); | |
| 740 form_data.fields.push_back(billing_tel); | |
| 741 SetUpControllerWithFormData(form_data); | |
| 742 | |
| 743 AutofillProfile full_profile(test::GetVerifiedProfile()); | |
| 744 AutofillProfile full_profile2(test::GetVerifiedProfile2()); | |
|
Dan Beam
2013/05/28 19:17:49
can you use {shipping,billing}_profile so it's mor
Evan Stade
2013/05/28 19:30:09
Done.
| |
| 745 CreditCard credit_card(test::GetVerifiedCreditCard()); | |
| 746 controller()->GetTestingManager()->AddTestingProfile(&full_profile); | |
| 747 controller()->GetTestingManager()->AddTestingProfile(&full_profile2); | |
| 748 controller()->GetTestingManager()->AddTestingCreditCard(&credit_card); | |
| 749 ui::MenuModel* billing_model = | |
| 750 controller()->MenuModelForSection(SECTION_BILLING); | |
| 751 billing_model->ActivatedAt(1); | |
| 752 | |
| 753 controller()->OnAccept(); | |
| 754 ASSERT_EQ(2U, form_structure()->field_count()); | |
| 755 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, form_structure()->field(0)->type()); | |
| 756 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, form_structure()->field(1)->type()); | |
| 757 EXPECT_EQ(full_profile.GetRawInfo(PHONE_HOME_WHOLE_NUMBER), | |
| 758 form_structure()->field(0)->value); | |
| 759 EXPECT_EQ(full_profile2.GetRawInfo(PHONE_HOME_WHOLE_NUMBER), | |
| 760 form_structure()->field(1)->value); | |
| 761 EXPECT_NE(form_structure()->field(1)->value, | |
| 762 form_structure()->field(0)->value); | |
| 763 } | |
| 764 | |
| 723 TEST_F(AutofillDialogControllerTest, AcceptLegalDocuments) { | 765 TEST_F(AutofillDialogControllerTest, AcceptLegalDocuments) { |
| 724 EXPECT_CALL(*controller()->GetTestingWalletClient(), | 766 EXPECT_CALL(*controller()->GetTestingWalletClient(), |
| 725 AcceptLegalDocuments(_, _, _)).Times(1); | 767 AcceptLegalDocuments(_, _, _)).Times(1); |
| 726 EXPECT_CALL(*controller()->GetTestingWalletClient(), | 768 EXPECT_CALL(*controller()->GetTestingWalletClient(), |
| 727 GetFullWallet(_)).Times(1); | 769 GetFullWallet(_)).Times(1); |
| 728 EXPECT_CALL(*controller(), LoadRiskFingerprintData()).Times(1); | 770 EXPECT_CALL(*controller(), LoadRiskFingerprintData()).Times(1); |
| 729 | 771 |
| 730 scoped_ptr<wallet::WalletItems> wallet_items = wallet::GetTestWalletItems(); | 772 scoped_ptr<wallet::WalletItems> wallet_items = wallet::GetTestWalletItems(); |
| 731 wallet_items->AddLegalDocument(wallet::GetTestLegalDocument()); | 773 wallet_items->AddLegalDocument(wallet::GetTestLegalDocument()); |
| 732 wallet_items->AddInstrument(wallet::GetTestMaskedInstrument()); | 774 wallet_items->AddInstrument(wallet::GetTestMaskedInstrument()); |
| (...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1679 controller()->OnDidGetWalletItems( | 1721 controller()->OnDidGetWalletItems( |
| 1680 wallet::WalletItems::CreateWalletItems(dict).Pass()); | 1722 wallet::WalletItems::CreateWalletItems(dict).Pass()); |
| 1681 | 1723 |
| 1682 EXPECT_FALSE(controller()->MenuModelForSection(SECTION_CC_BILLING)); | 1724 EXPECT_FALSE(controller()->MenuModelForSection(SECTION_CC_BILLING)); |
| 1683 // "Same as billing" and "Add address...". | 1725 // "Same as billing" and "Add address...". |
| 1684 EXPECT_EQ( | 1726 EXPECT_EQ( |
| 1685 2, controller()->MenuModelForSection(SECTION_SHIPPING)->GetItemCount()); | 1727 2, controller()->MenuModelForSection(SECTION_SHIPPING)->GetItemCount()); |
| 1686 } | 1728 } |
| 1687 | 1729 |
| 1688 } // namespace autofill | 1730 } // namespace autofill |
| OLD | NEW |