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) { |