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

Unified Diff: components/autofill/core/browser/autofill_field_unittest.cc

Issue 1811543002: [Autofill] Fill text state fields that have a max length of 2 with the state abbreviation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
Index: components/autofill/core/browser/autofill_field_unittest.cc
diff --git a/components/autofill/core/browser/autofill_field_unittest.cc b/components/autofill/core/browser/autofill_field_unittest.cc
index 5f9f7b75eff4ff96f865f48c0a667d0ddbe04c1b..3a9802cd07e2d3e94f9a8d272dbac51bf23c3e09 100644
--- a/components/autofill/core/browser/autofill_field_unittest.cc
+++ b/components/autofill/core/browser/autofill_field_unittest.cc
@@ -878,5 +878,36 @@ TEST_F(AutofillFieldTest, FindShortestSubstringMatchInSelect) {
EXPECT_EQ(-1, ret);
}
+// Tests that text state fields are filled correctly depending on their
+// maxlength attribute value.
+TEST_F(AutofillFieldTest, FillStateText) {
+ typedef struct {
+ HtmlFieldType field_type;
+ size_t field_max_length;
+ std::string value_to_fill;
+ std::string expected_value;
+
+ } TestCase;
+
+ TestCase test_cases[] = {
+ // Filling a state to a text field should fill the state value as is.
+ {HTML_TYPE_ADDRESS_LEVEL1, /* default value */ 0, "New York", "New York"},
+ {HTML_TYPE_ADDRESS_LEVEL1, /* default value */ 0, "NY", "NY"},
+ // Filling a state to a text field with a maxlength of 2 should fill the
+ // state abbreviation.
+ {HTML_TYPE_ADDRESS_LEVEL1, 2, "New York", "NY"},
+ {HTML_TYPE_ADDRESS_LEVEL1, 2, "NY", "NY"}};
+
+ for (TestCase test_case : test_cases) {
vabr (Chromium) 2016/03/16 16:38:45 nit: const TestCase& to avoid copies
sebsg 2016/03/16 23:41:01 Done.
+ AutofillField field;
+ field.SetHtmlType(test_case.field_type, HtmlFieldMode());
+ field.max_length = test_case.field_max_length;
+
+ AutofillField::FillFormField(field, ASCIIToUTF16(test_case.value_to_fill),
+ "en-US", "en-US", &field);
+ EXPECT_EQ(ASCIIToUTF16(test_case.expected_value), field.value);
+ }
+}
+
} // namespace
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698