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

Unified Diff: chrome/renderer/form_manager_unittest.cc

Issue 2348001: AutoFill: Refactor the code used to fill a form. Don't fill autocomplete=off (Closed)
Patch Set: Fix compile. Created 10 years, 7 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
« chrome/renderer/form_manager.h ('K') | « chrome/renderer/form_manager.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/form_manager_unittest.cc
diff --git a/chrome/renderer/form_manager_unittest.cc b/chrome/renderer/form_manager_unittest.cc
index d5a8c39f240503ed7d99043f47e1bafcad283605..684c410024777a2bfecd6e449041a7cd3eb17c84 100644
--- a/chrome/renderer/form_manager_unittest.cc
+++ b/chrome/renderer/form_manager_unittest.cc
@@ -13,6 +13,7 @@
#include "third_party/WebKit/WebKit/chromium/public/WebVector.h"
#include "webkit/glue/form_data.h"
+using WebKit::WebDocument;
using WebKit::WebElement;
using WebKit::WebFormElement;
using WebKit::WebFrame;
@@ -337,6 +338,9 @@ TEST_F(FormManagerTest, FillForm) {
LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">"
" <INPUT type=\"text\" id=\"firstname\"/>"
" <INPUT type=\"text\" id=\"lastname\"/>"
+ " <INPUT type=\"hidden\" id=\"imhidden\"/>"
+ " <INPUT type=\"text\" id=\"notempty\" value=\"Hi\"/>"
+ " <INPUT type=\"text\" autocomplete=\"off\" id=\"noautocomplete\"/>"
" <INPUT type=\"submit\" name=\"reply-send\" value=\"Send\"/>"
"</FORM>");
@@ -364,7 +368,7 @@ TEST_F(FormManagerTest, FillForm) {
EXPECT_EQ(GURL("http://buh.com"), form.action);
const std::vector<FormField>& fields = form.fields;
- ASSERT_EQ(3U, fields.size());
+ ASSERT_EQ(6U, fields.size());
EXPECT_EQ(FormField(string16(),
ASCIIToUTF16("firstname"),
string16(),
@@ -378,45 +382,64 @@ TEST_F(FormManagerTest, FillForm) {
20),
fields[1]);
EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
+ ASCIIToUTF16("imhidden"),
+ string16(),
+ ASCIIToUTF16("hidden"),
0),
fields[2]);
-
- // Fill the form.
- form.fields[0].set_value(ASCIIToUTF16("Wyatt"));
- form.fields[1].set_value(ASCIIToUTF16("Earp"));
- EXPECT_TRUE(form_manager.FillForm(form));
-
- // Find the newly-filled form that contains the input element.
- FormData form2;
- EXPECT_TRUE(form_manager.FindFormWithFormControlElement(
- input_element, FormManager::REQUIRE_NONE, &form2));
- EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name);
- EXPECT_EQ(GURL(web_frame->url()), form2.origin);
- EXPECT_EQ(GURL("http://buh.com"), form2.action);
-
- const std::vector<FormField>& fields2 = form2.fields;
- ASSERT_EQ(3U, fields2.size());
EXPECT_EQ(FormField(string16(),
dhollowa 2010/05/28 02:07:07 These guys need the StrictlyEqualsHack() too I thi
James Hawkins 2010/05/28 02:17:27 Not particularly, since they have no values at thi
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("Wyatt"),
+ ASCIIToUTF16("notempty"),
+ ASCIIToUTF16("Hi"),
ASCIIToUTF16("text"),
20),
- fields2[0]);
+ fields[3]);
EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Earp"),
+ ASCIIToUTF16("noautocomplete"),
+ string16(),
ASCIIToUTF16("text"),
20),
- fields2[1]);
+ fields[4]);
EXPECT_EQ(FormField(string16(),
ASCIIToUTF16("reply-send"),
ASCIIToUTF16("Send"),
ASCIIToUTF16("submit"),
0),
- fields2[2]);
+ fields[5]);
+
+ // Fill the form.
+ form.fields[0].set_value(ASCIIToUTF16("Wyatt"));
+ form.fields[1].set_value(ASCIIToUTF16("Earp"));
+ form.fields[2].set_value(ASCIIToUTF16("Alpha"));
+ form.fields[3].set_value(ASCIIToUTF16("Beta"));
+ form.fields[4].set_value(ASCIIToUTF16("Gamma"));
+ EXPECT_TRUE(form_manager.FillForm(form));
+
+ // Verify the previewed elements.
+ WebDocument document = web_frame->document();
+ WebInputElement firstname =
+ document.getElementById("firstname").to<WebInputElement>();
+ // TODO(jhawkins): Check firstname.isAutofilled() once support has been added
+ // in WebKit.
+ EXPECT_EQ(ASCIIToUTF16("Wyatt"), firstname.value());
+
+ WebInputElement lastname =
+ document.getElementById("lastname").to<WebInputElement>();
+ EXPECT_EQ(ASCIIToUTF16("Earp"), lastname.value());
+
+ // Hidden fields are not previewed.
+ WebInputElement imhidden =
+ document.getElementById("imhidden").to<WebInputElement>();
+ EXPECT_TRUE(imhidden.value().isEmpty());
+
+ // Non-empty fields are not previewed.
+ WebInputElement notempty =
+ document.getElementById("notempty").to<WebInputElement>();
+ EXPECT_EQ(ASCIIToUTF16("Hi"), notempty.value());
+
+ // autocomplete=off fields are not previewed.
+ WebInputElement noautocomplete =
+ document.getElementById("noautocomplete").to<WebInputElement>();
+ EXPECT_TRUE(noautocomplete.value().isEmpty());
}
TEST_F(FormManagerTest, Reset) {
@@ -470,24 +493,24 @@ TEST_F(FormManagerTest, Labels) {
const std::vector<FormField>& fields = form.fields;
ASSERT_EQ(3U, fields.size());
- EXPECT_EQ(FormField(ASCIIToUTF16("First name:"),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("John"),
- ASCIIToUTF16("text"),
- 20),
- fields[0]);
- EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Smith"),
- ASCIIToUTF16("text"),
- 20),
- fields[1]);
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
- 0),
- fields[2]);
+ EXPECT_TRUE(fields[0].StrictlyEqualsHack(
+ FormField(ASCIIToUTF16("First name:"),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("John"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[1].StrictlyEqualsHack(
+ FormField(ASCIIToUTF16("Last name:"),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Smith"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[2].StrictlyEqualsHack(
+ FormField(string16(),
+ ASCIIToUTF16("reply-send"),
+ string16(),
+ ASCIIToUTF16("submit"),
+ 0)));
}
TEST_F(FormManagerTest, LabelsWithSpans) {
@@ -516,24 +539,24 @@ TEST_F(FormManagerTest, LabelsWithSpans) {
const std::vector<FormField>& fields = form.fields;
ASSERT_EQ(3U, fields.size());
- EXPECT_EQ(FormField(ASCIIToUTF16("First name:"),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("John"),
- ASCIIToUTF16("text"),
- 20),
- fields[0]);
- EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Smith"),
- ASCIIToUTF16("text"),
- 20),
- fields[1]);
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
- 0),
- fields[2]);
+ EXPECT_TRUE(fields[0].StrictlyEqualsHack(
+ FormField(ASCIIToUTF16("First name:"),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("John"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[1].StrictlyEqualsHack(
+ FormField(ASCIIToUTF16("Last name:"),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Smith"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[2].StrictlyEqualsHack(
+ FormField(string16(),
+ ASCIIToUTF16("reply-send"),
+ string16(),
+ ASCIIToUTF16("submit"),
+ 0)));
}
// This test is different from FormManagerTest.Labels in that the label elements
@@ -566,24 +589,21 @@ TEST_F(FormManagerTest, InvalidLabels) {
const std::vector<FormField>& fields = form.fields;
ASSERT_EQ(3U, fields.size());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("John"),
- ASCIIToUTF16("text"),
- 20),
- fields[0]);
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Smith"),
- ASCIIToUTF16("text"),
- 20),
- fields[1]);
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
- 0),
- fields[2]);
+ EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("John"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Smith"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("reply-send"),
+ string16(),
+ ASCIIToUTF16("submit"),
+ 0)));
}
// This test has three form control elements, only one of which has a label
@@ -1119,29 +1139,25 @@ TEST_F(FormManagerTest, FillFormMaxLength) {
EXPECT_EQ(GURL(web_frame->url()), form2.origin);
EXPECT_EQ(GURL("http://buh.com"), form2.action);
- // TODO(jhawkins): We don't actually compare the value of the field in
- // FormField::operator==()!
const std::vector<FormField>& fields2 = form2.fields;
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("Broth"),
- ASCIIToUTF16("text"),
- 20),
- fields2[0]);
- EXPECT_EQ(ASCIIToUTF16("Broth"), fields2[0].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Jonat"),
- ASCIIToUTF16("text"),
- 20),
- fields2[1]);
- EXPECT_EQ(ASCIIToUTF16("Jonat"), fields2[1].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
- 0),
- fields2[2]);
+ EXPECT_TRUE(fields2[0].StrictlyEqualsHack(
+ FormField(string16(),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("Broth"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields2[1].StrictlyEqualsHack(
+ FormField(string16(),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Jonat"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields2[2].StrictlyEqualsHack(
+ FormField(string16(),
+ ASCIIToUTF16("reply-send"),
+ string16(),
+ ASCIIToUTF16("submit"),
+ 0)));
}
// This test uses negative values of the maxlength attribute for input elements.
@@ -1211,30 +1227,26 @@ TEST_F(FormManagerTest, FillFormNegativeMaxLength) {
EXPECT_EQ(GURL(web_frame->url()), form2.origin);
EXPECT_EQ(GURL("http://buh.com"), form2.action);
- // TODO(jhawkins): We don't actually compare the value of the field in
- // FormField::operator==()!
const std::vector<FormField>& fields2 = form2.fields;
ASSERT_EQ(3U, fields2.size());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("Brother"),
- ASCIIToUTF16("text"),
- 20),
- fields2[0]);
- EXPECT_EQ(ASCIIToUTF16("Brother"), fields2[0].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Jonathan"),
- ASCIIToUTF16("text"),
- 20),
- fields2[1]);
- EXPECT_EQ(ASCIIToUTF16("Jonathan"), fields2[1].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
- 0),
- fields2[2]);
+ EXPECT_TRUE(fields2[0].StrictlyEqualsHack(
+ FormField(string16(),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("Brother"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields2[1].StrictlyEqualsHack(
+ FormField(string16(),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Jonathan"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields2[2].StrictlyEqualsHack(
+ FormField(string16(),
+ ASCIIToUTF16("reply-send"),
+ string16(),
+ ASCIIToUTF16("submit"),
+ 0)));
}
// This test sends a FormData object to FillForm with more fields than are in
@@ -1319,37 +1331,28 @@ TEST_F(FormManagerTest, FillFormMoreFormDataFields) {
EXPECT_EQ(GURL(web_frame->url()), form2.origin);
EXPECT_EQ(GURL("http://buh.com"), form2.action);
- // TODO(jhawkins): We don't actually compare the value of the field in
- // FormField::operator==()!
const std::vector<FormField>& fields = form2.fields;
ASSERT_EQ(4U, fields.size());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("Brother"),
- ASCIIToUTF16("text"),
- 20),
- fields[0]);
- EXPECT_EQ(ASCIIToUTF16("Brother"), fields[0].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("middlename"),
- ASCIIToUTF16("Joseph"),
- ASCIIToUTF16("text"),
- 20),
- fields[1]);
- EXPECT_EQ(ASCIIToUTF16("Joseph"), fields[1].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Jonathan"),
- ASCIIToUTF16("text"),
- 20),
- fields[2]);
- EXPECT_EQ(ASCIIToUTF16("Jonathan"), fields[2].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
- 0),
- fields[3]);
+ EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("Brother"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("middlename"),
+ ASCIIToUTF16("Joseph"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Jonathan"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("reply-send"),
+ string16(),
+ ASCIIToUTF16("submit"),
+ 0)));
}
// This test sends a FormData object to FillForm with fewer fields than are in
@@ -1406,65 +1409,48 @@ TEST_F(FormManagerTest, FillFormFewerFormDataFields) {
EXPECT_EQ(GURL(web_frame->url()), form2.origin);
EXPECT_EQ(GURL("http://buh.com"), form2.action);
- // TODO(jhawkins): We don't actually compare the value of the field in
- // FormField::operator==()!
const std::vector<FormField>& fields = form2.fields;
ASSERT_EQ(8U, fields.size());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("prefix"),
- string16(),
- ASCIIToUTF16("text"),
- 20),
- fields[0]);
- EXPECT_EQ(string16(), fields[0].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("Brother"),
- ASCIIToUTF16("text"),
- 20),
- fields[1]);
- EXPECT_EQ(ASCIIToUTF16("Brother"), fields[1].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("hidden"),
- string16(),
- ASCIIToUTF16("text"),
- 20),
- fields[2]);
- EXPECT_EQ(string16(), fields[2].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("middlename"),
- ASCIIToUTF16("Joseph"),
- ASCIIToUTF16("text"),
- 20),
- fields[3]);
- EXPECT_EQ(ASCIIToUTF16("Joseph"), fields[3].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("second"),
- string16(),
- ASCIIToUTF16("text"),
- 20),
- fields[4]);
- EXPECT_EQ(string16(), fields[4].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Jonathan"),
- ASCIIToUTF16("text"),
- 20),
- fields[5]);
- EXPECT_EQ(ASCIIToUTF16("Jonathan"), fields[5].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("postfix"),
- string16(),
- ASCIIToUTF16("text"),
- 20),
- fields[6]);
- EXPECT_EQ(string16(), fields[6].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
- 0),
- fields[7]);
+ EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("prefix"),
+ string16(),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("Brother"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("hidden"),
+ string16(),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("middlename"),
+ ASCIIToUTF16("Joseph"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[4].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("second"),
+ string16(),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[5].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Jonathan"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[6].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("postfix"),
+ string16(),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[7].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("reply-send"),
+ string16(),
+ ASCIIToUTF16("submit"),
+ 0)));
}
// This test sends a FormData object to FillForm with a field changed from
@@ -1518,37 +1504,28 @@ TEST_F(FormManagerTest, FillFormChangedFormDataFields) {
EXPECT_EQ(GURL(web_frame->url()), form2.origin);
EXPECT_EQ(GURL("http://buh.com"), form2.action);
- // TODO(jhawkins): We don't actually compare the value of the field in
- // FormField::operator==()!
const std::vector<FormField>& fields = form2.fields;
ASSERT_EQ(4U, fields.size());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("Brother"),
- ASCIIToUTF16("text"),
- 20),
- fields[0]);
- EXPECT_EQ(ASCIIToUTF16("Brother"), fields[0].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("middlename"),
- ASCIIToUTF16("Joseph"),
- ASCIIToUTF16("text"),
- 20),
- fields[1]);
- EXPECT_EQ(string16(), fields[1].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Jonathan"),
- ASCIIToUTF16("text"),
- 20),
- fields[2]);
- EXPECT_EQ(ASCIIToUTF16("Jonathan"), fields[2].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
- 0),
- fields[3]);
+ EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("Brother"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("middlename"),
+ string16(),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Jonathan"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("reply-send"),
+ string16(),
+ ASCIIToUTF16("submit"),
+ 0)));
}
// This test sends a FormData object to FillForm with fewer fields than are in
@@ -1599,44 +1576,33 @@ TEST_F(FormManagerTest, FillFormExtraFieldInCache) {
EXPECT_EQ(GURL(web_frame->url()), form2.origin);
EXPECT_EQ(GURL("http://buh.com"), form2.action);
- // TODO(jhawkins): We don't actually compare the value of the field in
- // FormField::operator==()!
const std::vector<FormField>& fields = form2.fields;
ASSERT_EQ(5U, fields.size());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("Brother"),
- ASCIIToUTF16("text"),
- 20),
- fields[0]);
- EXPECT_EQ(ASCIIToUTF16("Brother"), fields[0].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("middlename"),
- ASCIIToUTF16("Joseph"),
- ASCIIToUTF16("text"),
- 20),
- fields[1]);
- EXPECT_EQ(ASCIIToUTF16("Joseph"), fields[1].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Jonathan"),
- ASCIIToUTF16("text"),
- 20),
- fields[2]);
- EXPECT_EQ(ASCIIToUTF16("Jonathan"), fields[2].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("postfix"),
- string16(),
- ASCIIToUTF16("text"),
- 20),
- fields[3]);
- EXPECT_EQ(string16(), fields[3].value());
- EXPECT_EQ(FormField(string16(),
- ASCIIToUTF16("reply-send"),
- ASCIIToUTF16("Send"),
- ASCIIToUTF16("submit"),
- 0),
- fields[4]);
+ EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("Brother"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("middlename"),
+ ASCIIToUTF16("Joseph"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Jonathan"),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("postfix"),
+ string16(),
+ ASCIIToUTF16("text"),
+ 20)));
+ EXPECT_TRUE(fields[4].StrictlyEqualsHack(FormField(string16(),
+ ASCIIToUTF16("reply-send"),
+ string16(),
+ ASCIIToUTF16("submit"),
+ 0)));
}
TEST_F(FormManagerTest, FillFormEmptyName) {
« chrome/renderer/form_manager.h ('K') | « chrome/renderer/form_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698