diff options
author | bulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-30 11:18:15 +0000 |
---|---|---|
committer | bulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-30 11:18:15 +0000 |
commit | 32590e0fe75f73155397780a54d3d14be6128a03 (patch) | |
tree | 88f76f119ebd6e99eed6563e7d37592ece33f7b2 /chrome/browser/autofill/form_structure_unittest.cc | |
parent | ac2779a80b8a2ce3c9a4ecf17f3dfc1d598da857 (diff) | |
download | chromium_src-32590e0fe75f73155397780a54d3d14be6128a03.zip chromium_src-32590e0fe75f73155397780a54d3d14be6128a03.tar.gz chromium_src-32590e0fe75f73155397780a54d3d14be6128a03.tar.bz2 |
Don't trigger auto fill setup when submitting empty forms.
(landing on behalf of satish@chromium.org from http://codereview.chromium.org/1769008/show)
BUG=41015
TEST=Open the test page given in the bug and hit submit, verify that the autofill setup infobar does not pop up.
Review URL: http://codereview.chromium.org/1822002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46058 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autofill/form_structure_unittest.cc')
-rw-r--r-- | chrome/browser/autofill/form_structure_unittest.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/chrome/browser/autofill/form_structure_unittest.cc b/chrome/browser/autofill/form_structure_unittest.cc index 52f440d..5324304 100644 --- a/chrome/browser/autofill/form_structure_unittest.cc +++ b/chrome/browser/autofill/form_structure_unittest.cc @@ -108,6 +108,44 @@ TEST(FormStructureTest, ConvertToFormData) { EXPECT_EQ(form, converted); } +TEST(FormStructureTest, HasAutoFillableValues) { + scoped_ptr<FormStructure> form_structure; + FormData form; + form.method = ASCIIToUTF16("post"); + + // Non text/select fields are not used when saving auto fill data. + form.fields.push_back(webkit_glue::FormField(string16(), + ASCIIToUTF16("Submit1"), + string16(), + ASCIIToUTF16("submit"))); + form.fields.push_back(webkit_glue::FormField(string16(), + ASCIIToUTF16("Submit2"), + ASCIIToUTF16("dummy value"), + ASCIIToUTF16("submit"))); + form_structure.reset(new FormStructure(form)); + EXPECT_FALSE(form_structure->HasAutoFillableValues()); + + // Empty text/select fields are also not used when saving auto fill data. + form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"), + ASCIIToUTF16("firstname"), + string16(), + ASCIIToUTF16("text"))); + form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("state"), + ASCIIToUTF16("state"), + string16(), + ASCIIToUTF16("select-one"))); + form_structure.reset(new FormStructure(form)); + EXPECT_FALSE(form_structure->HasAutoFillableValues()); + + // Non-empty fields can be saved in auto fill profile. + form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"), + ASCIIToUTF16("lastname"), + ASCIIToUTF16("John"), + ASCIIToUTF16("text"))); + form_structure.reset(new FormStructure(form)); + EXPECT_TRUE(form_structure->HasAutoFillableValues()); +} + TEST(FormStructureTest, IsAutoFillable) { scoped_ptr<FormStructure> form_structure; FormData form; |