Chromium Code Reviews| 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 c4916d0830040ed56c33e725205786a7419744f6..c326dcd3f8825444af64521f6d7fe1157e2abd33 100644 |
| --- a/components/autofill/core/browser/autofill_field_unittest.cc |
| +++ b/components/autofill/core/browser/autofill_field_unittest.cc |
| @@ -218,7 +218,7 @@ TEST(AutofillFieldTest, FillSelectControlWithFullStateNames) { |
| EXPECT_EQ(ASCIIToUTF16("California"), field.value); |
| } |
| -TEST(AutofillFieldTest, FillSelectControlWithWithAbbreviateStateNames) { |
| +TEST(AutofillFieldTest, FillSelectControlWithAbbreviateStateNames) { |
| const char* const kStates[] = { |
| "AL", "CA" |
| }; |
| @@ -232,6 +232,67 @@ TEST(AutofillFieldTest, FillSelectControlWithWithAbbreviateStateNames) { |
| EXPECT_EQ(ASCIIToUTF16("CA"), field.value); |
| } |
| +TEST(AutofillFieldTest, FillSelectControlWithInexactFullStateNames) { |
| + { |
| + const char* const kStates[] = { |
| + "CA - California", "NC - North Carolina", |
|
Dan Beam
2014/07/01 00:34:32
can you reverse the order of these?
Ilya Sherman
2014/07/01 00:59:08
(Or, alternately, include an empty default item.)
Evan Stade
2014/07/01 01:04:56
I don't understand the purpose of either request.
Ilya Sherman
2014/07/01 01:17:47
My reasoning, which might or might not match Dan's
Dan Beam
2014/07/01 01:18:46
it currently looks like this test will select "CA
Evan Stade
2014/07/01 18:59:26
The main point of the test is to make sure "CA - C
Evan Stade
2014/07/01 23:08:52
But other tests (such as the one that uses kNotSta
|
| + }; |
| + AutofillField field( |
| + GenerateSelectFieldWithOptions(kStates, arraysize(kStates)), |
| + base::string16()); |
| + field.set_heuristic_type(ADDRESS_HOME_STATE); |
| + |
| + AutofillField::FillFormField(field, ASCIIToUTF16("California"), "en-US", |
| + &field); |
| + EXPECT_EQ(ASCIIToUTF16("CA - California"), field.value); |
| + } |
| + |
| + // Tests that substring matches work for full state names. |
| + { |
| + const char* const kStates[] = { |
| + "California.", "North Carolina.", |
| + }; |
| + AutofillField field( |
| + GenerateSelectFieldWithOptions(kStates, arraysize(kStates)), |
| + base::string16()); |
| + field.set_heuristic_type(ADDRESS_HOME_STATE); |
| + |
| + AutofillField::FillFormField(field, ASCIIToUTF16("California"), "en-US", |
| + &field); |
| + EXPECT_EQ(ASCIIToUTF16("California."), field.value); |
| + } |
| +} |
| + |
| +TEST(AutofillFieldTest, FillSelectControlWithInexactAbbreviations) { |
| + { |
| + const char* const kStates[] = { |
| + "NC - North Carolina", "CA - California", |
| + }; |
| + AutofillField field( |
| + GenerateSelectFieldWithOptions(kStates, arraysize(kStates)), |
| + base::string16()); |
| + field.set_heuristic_type(ADDRESS_HOME_STATE); |
| + |
| + AutofillField::FillFormField(field, ASCIIToUTF16("CA"), "en-US", |
| + &field); |
| + EXPECT_EQ(ASCIIToUTF16("CA - California"), field.value); |
| + } |
| + |
| + { |
| + const char* const kNotStates[] = { |
| + "NCNCA", "SCNCA", |
| + }; |
| + AutofillField field( |
| + GenerateSelectFieldWithOptions(kNotStates, arraysize(kNotStates)), |
| + base::string16()); |
| + field.set_heuristic_type(ADDRESS_HOME_STATE); |
| + |
| + AutofillField::FillFormField(field, ASCIIToUTF16("NC"), "en-US", |
| + &field); |
| + EXPECT_EQ(base::string16(), field.value); |
| + } |
| +} |
| + |
| TEST(AutofillFieldTest, FillSelectControlWithNumericMonth) { |
| const char* const kMonthsNumeric[] = { |
| "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", |