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

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

Issue 178263004: rAc - Only show countries we're able to fill in. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix android build Created 6 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
« no previous file with comments | « components/autofill/core/browser/form_structure.cc ('k') | components/autofill/core/common/form_data.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/autofill/core/browser/form_structure_unittest.cc
diff --git a/components/autofill/core/browser/form_structure_unittest.cc b/components/autofill/core/browser/form_structure_unittest.cc
index dbd07bfaf5472d5c1238f4fd6299fbf926778684..11efda8faa869451586414509875e69199000f3a 100644
--- a/components/autofill/core/browser/form_structure_unittest.cc
+++ b/components/autofill/core/browser/form_structure_unittest.cc
@@ -2359,4 +2359,44 @@ TEST(FormStructureTest, SkipFieldTest) {
EXPECT_EQ(kResponse, encoded_xml);
}
+TEST(FormStructureTest, PossibleValues) {
+ FormData form_data;
+ FormFieldData field;
+ field.autocomplete_attribute = "billing country";
+ field.option_contents.push_back(ASCIIToUTF16("Down Under"));
+ field.option_values.push_back(ASCIIToUTF16("AU"));
+ field.option_contents.push_back(ASCIIToUTF16("Fr"));
+ field.option_values.push_back(ASCIIToUTF16(""));
+ field.option_contents.push_back(ASCIIToUTF16("Germany"));
+ field.option_values.push_back(ASCIIToUTF16("GRMNY"));
+ form_data.fields.push_back(field);
+ FormStructure form_structure(form_data);
+
+ bool unused;
+ form_structure.ParseFieldTypesFromAutocompleteAttributes(&unused, &unused);
+
+ // All values in <option> value= or contents are returned, set to upper case.
+ std::set<base::string16> possible_values =
+ form_structure.PossibleValues(ADDRESS_BILLING_COUNTRY);
+ EXPECT_EQ(5U, possible_values.size());
+ EXPECT_EQ(1U, possible_values.count(ASCIIToUTF16("AU")));
+ EXPECT_EQ(1U, possible_values.count(ASCIIToUTF16("FR")));
+ EXPECT_EQ(1U, possible_values.count(ASCIIToUTF16("DOWN UNDER")));
+ EXPECT_EQ(1U, possible_values.count(ASCIIToUTF16("GERMANY")));
+ EXPECT_EQ(1U, possible_values.count(ASCIIToUTF16("GRMNY")));
+ EXPECT_EQ(0U, possible_values.count(ASCIIToUTF16("Fr")));
+ EXPECT_EQ(0U, possible_values.count(ASCIIToUTF16("DE")));
+
+ // No field for the given type; empty value set.
+ EXPECT_EQ(0U, form_structure.PossibleValues(ADDRESS_HOME_COUNTRY).size());
+
+ // A freeform input (<input>) allows any value (overriding other <select>s).
+ FormFieldData freeform_field;
+ freeform_field.autocomplete_attribute = "billing country";
+ form_data.fields.push_back(freeform_field);
+ FormStructure form_structure2(form_data);
+ form_structure2.ParseFieldTypesFromAutocompleteAttributes(&unused, &unused);
+ EXPECT_EQ(0U, form_structure2.PossibleValues(ADDRESS_BILLING_COUNTRY).size());
+}
+
} // namespace autofill
« no previous file with comments | « components/autofill/core/browser/form_structure.cc ('k') | components/autofill/core/common/form_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698