summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autofill/form_structure_unittest.cc
diff options
context:
space:
mode:
authorbulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-30 11:18:15 +0000
committerbulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-30 11:18:15 +0000
commit32590e0fe75f73155397780a54d3d14be6128a03 (patch)
tree88f76f119ebd6e99eed6563e7d37592ece33f7b2 /chrome/browser/autofill/form_structure_unittest.cc
parentac2779a80b8a2ce3c9a4ecf17f3dfc1d598da857 (diff)
downloadchromium_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.cc38
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;