Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(332)

Unified Diff: chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc

Issue 232353003: Boldly refuse to show rAc dialog if cc info is not requested. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update browsertest Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
diff --git a/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc b/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
index c2a4a574a72e807bb84431a751711b52ab29db63..03c7df052736cf114449655f39d681743128fdac 100644
--- a/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
+++ b/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
@@ -463,7 +463,8 @@ class AutofillDialogControllerTest : public ChromeRenderViewHostTestHarness {
void SetUpControllerWithFormData(const FormData& form_data) {
ResetControllerWithFormData(form_data);
controller()->Show();
- if (!profile()->GetPrefs()->GetBoolean(
+ if (controller() &&
+ !profile()->GetPrefs()->GetBoolean(
::prefs::kAutofillDialogPayWithoutWallet)) {
EXPECT_CALL(*controller()->GetTestingWalletClient(), GetWalletItems());
controller()->OnDidFetchWalletCookieValue(std::string());
@@ -677,6 +678,42 @@ class AutofillDialogControllerTest : public ChromeRenderViewHostTestHarness {
} // namespace
+TEST_F(AutofillDialogControllerTest, RefuseToShowWithNoAutocompleteAttributes) {
+ FormFieldData email_field;
+ email_field.name = ASCIIToUTF16("email");
+ FormFieldData cc_field;
+ cc_field.name = ASCIIToUTF16("cc");
+ FormFieldData billing_field;
+ billing_field.name = ASCIIToUTF16("billing name");
+
+ FormData form_data;
+ form_data.fields.push_back(email_field);
+ form_data.fields.push_back(cc_field);
+ form_data.fields.push_back(billing_field);
+
+ SetUpControllerWithFormData(form_data);
+ EXPECT_FALSE(controller());
+}
+
+TEST_F(AutofillDialogControllerTest, RefuseToShowWithNoCcField) {
+ FormFieldData shipping_tel;
+ shipping_tel.autocomplete_attribute = "shipping tel";
+
+ FormData form_data;
+ form_data.fields.push_back(shipping_tel);
+
+ SetUpControllerWithFormData(form_data);
+ EXPECT_FALSE(controller());
+
+ // Any cc- field will do.
+ FormFieldData cc_field;
+ cc_field.autocomplete_attribute = "cc-csc";
+ form_data.fields.push_back(cc_field);
+
+ SetUpControllerWithFormData(form_data);
+ EXPECT_TRUE(controller());
+}
+
// Ensure the default ValidityMessage has the expected values.
TEST_F(AutofillDialogControllerTest, DefaultValidityMessage) {
ValidityMessages messages;
@@ -1311,10 +1348,13 @@ TEST_F(AutofillDialogControllerTest, BillingVsShippingPhoneNumber) {
shipping_tel.autocomplete_attribute = "shipping tel";
FormFieldData billing_tel;
billing_tel.autocomplete_attribute = "billing tel";
+ FormFieldData cc_field;
+ cc_field.autocomplete_attribute = "cc-csc";
FormData form_data;
form_data.fields.push_back(shipping_tel);
form_data.fields.push_back(billing_tel);
+ form_data.fields.push_back(cc_field);
SetUpControllerWithFormData(form_data);
SwitchToAutofill();
@@ -1332,7 +1372,7 @@ TEST_F(AutofillDialogControllerTest, BillingVsShippingPhoneNumber) {
billing_model->ActivatedAt(1);
controller()->OnAccept();
- ASSERT_EQ(2U, form_structure()->field_count());
+ ASSERT_EQ(3U, form_structure()->field_count());
EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER,
form_structure()->field(0)->Type().GetStorableType());
EXPECT_EQ(PHONE_HOME, form_structure()->field(0)->Type().group());
@@ -1361,12 +1401,15 @@ TEST_F(AutofillDialogControllerTest, BillingVsShippingStreetAddress) {
FormFieldData billing_address_textarea;
billing_address_textarea.autocomplete_attribute = "billing street-address";
billing_address_textarea.form_control_type = "textarea";
+ FormFieldData cc_field;
+ cc_field.autocomplete_attribute = "cc-csc";
FormData form_data;
form_data.fields.push_back(shipping_address);
form_data.fields.push_back(billing_address);
form_data.fields.push_back(shipping_address_textarea);
form_data.fields.push_back(billing_address_textarea);
+ form_data.fields.push_back(cc_field);
SetUpControllerWithFormData(form_data);
SwitchToAutofill();
@@ -1384,7 +1427,7 @@ TEST_F(AutofillDialogControllerTest, BillingVsShippingStreetAddress) {
billing_model->ActivatedAt(1);
controller()->OnAccept();
- ASSERT_EQ(4U, form_structure()->field_count());
+ ASSERT_EQ(5U, form_structure()->field_count());
EXPECT_EQ(ADDRESS_HOME_STREET_ADDRESS,
form_structure()->field(0)->Type().GetStorableType());
EXPECT_EQ(ADDRESS_HOME, form_structure()->field(0)->Type().group());
@@ -3282,7 +3325,12 @@ TEST_F(AutofillDialogControllerTest, LimitedCountryChoices) {
field.option_values.push_back(ASCIIToUTF16(""));
field.option_contents.push_back(ASCIIToUTF16("Germany"));
field.option_values.push_back(ASCIIToUTF16("GRMNY"));
+
+ FormFieldData cc_field;
+ cc_field.autocomplete_attribute = "cc-csc";
+
form_data.fields.push_back(field);
+ form_data.fields.push_back(cc_field);
ResetControllerWithFormData(form_data);
controller()->Show();
« no previous file with comments | « chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698