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

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: relative 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 c24646190e0147e9782e215f8ca03c2058c8a19f..799c053b554b28958b6f81e8822a48aeebccd0fd 100644
--- a/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
+++ b/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
@@ -467,7 +467,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());
@@ -681,6 +682,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());
+}
Dan Beam 2014/04/10 17:54:43 these tests are great, but i meant checking that "
Evan Stade 2014/04/10 19:50:57 We don't need end-to-end tests to check that, we c
Dan Beam 2014/04/15 02:16:42 taking an extra hour (if that) to verify a part of
Evan Stade 2014/04/15 02:33:16 My preference for unit tests and regression-driven
+
// Ensure the default ValidityMessage has the expected values.
TEST_F(AutofillDialogControllerTest, DefaultValidityMessage) {
ValidityMessages messages;
@@ -1315,10 +1352,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();
@@ -1336,7 +1376,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());
@@ -1365,12 +1405,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();
@@ -1388,7 +1431,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());
@@ -3286,7 +3329,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