Index: chrome/renderer/autofill/form_autocomplete_browsertest.cc |
diff --git a/chrome/renderer/autofill/form_autocomplete_browsertest.cc b/chrome/renderer/autofill/form_autocomplete_browsertest.cc |
index 44a146a571c116731a1c70458b6f2a2bee6874fc..5f49d9d868e3967b07d60bd6aa6c89a4d1368997 100644 |
--- a/chrome/renderer/autofill/form_autocomplete_browsertest.cc |
+++ b/chrome/renderer/autofill/form_autocomplete_browsertest.cc |
@@ -49,7 +49,7 @@ TEST_F(FormAutocompleteTest, NormalFormSubmit) { |
EXPECT_EQ(WebString("Deckard"), form_field.value); |
} |
-// Tests that submitting a form that has autocomplete="off" does not generate a |
+// Tests that submitting a form that has autocomplete="off" generates a |
// FormSubmitted message. |
TEST_F(FormAutocompleteTest, AutoCompleteOffFormSubmit) { |
// Load a form. |
@@ -62,12 +62,25 @@ TEST_F(FormAutocompleteTest, AutoCompleteOffFormSubmit) { |
ExecuteJavaScript("document.getElementById('myForm').submit();"); |
ProcessPendingMessages(); |
- // No FormSubmitted message should have been sent. |
- EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( |
- AutofillHostMsg_FormSubmitted::ID)); |
+ const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( |
+ AutofillHostMsg_FormSubmitted::ID); |
+ ASSERT_TRUE(message != NULL); |
+ |
+ // The tuple also includes a timestamp, which is ignored. |
+ Tuple2<FormData, base::TimeTicks> forms; |
+ AutofillHostMsg_FormSubmitted::Read(message, &forms); |
+ ASSERT_EQ(2U, forms.a.fields.size()); |
+ |
+ FormFieldData& form_field = forms.a.fields[0]; |
+ EXPECT_EQ(WebString("fname"), form_field.name); |
+ EXPECT_EQ(WebString("Rick"), form_field.value); |
+ |
+ form_field = forms.a.fields[1]; |
+ EXPECT_EQ(WebString("lname"), form_field.name); |
+ EXPECT_EQ(WebString("Deckard"), form_field.value); |
} |
-// Tests that fields with autocomplete off are not submitted. |
+// Tests that fields with autocomplete off are submitted. |
TEST_F(FormAutocompleteTest, AutoCompleteOffInputSubmit) { |
// Load a form. |
LoadHTML("<html><form id='myForm'>" |
@@ -79,7 +92,6 @@ TEST_F(FormAutocompleteTest, AutoCompleteOffInputSubmit) { |
ExecuteJavaScript("document.getElementById('myForm').submit();"); |
ProcessPendingMessages(); |
- // No FormSubmitted message should have been sent. |
const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( |
AutofillHostMsg_FormSubmitted::ID); |
ASSERT_TRUE(message != NULL); |
@@ -87,16 +99,20 @@ TEST_F(FormAutocompleteTest, AutoCompleteOffInputSubmit) { |
// The tuple also includes a timestamp, which is ignored. |
Tuple2<FormData, base::TimeTicks> forms; |
AutofillHostMsg_FormSubmitted::Read(message, &forms); |
- ASSERT_EQ(1U, forms.a.fields.size()); |
+ ASSERT_EQ(2U, forms.a.fields.size()); |
FormFieldData& form_field = forms.a.fields[0]; |
EXPECT_EQ(WebString("fname"), form_field.name); |
EXPECT_EQ(WebString("Rick"), form_field.value); |
+ |
+ form_field = forms.a.fields[1]; |
+ EXPECT_EQ(WebString("lname"), form_field.name); |
+ EXPECT_EQ(WebString("Deckard"), form_field.value); |
} |
// Tests that submitting a form that has been dynamically set as autocomplete |
-// off does not generate a FormSubmitted message. |
-// http://crbug.com/36520 |
+// off generates a FormSubmitted message. |
+// Note: We previously did the opposite, for bug http://crbug.com/36520 |
TEST_F(FormAutocompleteTest, DynamicAutoCompleteOffFormSubmit) { |
Evan Stade
2014/07/23 23:14:50
I question whether this test has any value any mor
|
LoadHTML("<html><form id='myForm'><input name='fname' value='Rick'/>" |
"<input name='lname' value='Deckard'/></form></html>"); |
@@ -117,9 +133,22 @@ TEST_F(FormAutocompleteTest, DynamicAutoCompleteOffFormSubmit) { |
ExecuteJavaScript("document.getElementById('myForm').submit();"); |
ProcessPendingMessages(); |
- // No FormSubmitted message should have been sent. |
- EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( |
- AutofillHostMsg_FormSubmitted::ID)); |
+ const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( |
+ AutofillHostMsg_FormSubmitted::ID); |
+ ASSERT_TRUE(message != NULL); |
+ |
+ // The tuple also includes a timestamp, which is ignored. |
+ Tuple2<FormData, base::TimeTicks> forms; |
+ AutofillHostMsg_FormSubmitted::Read(message, &forms); |
+ ASSERT_EQ(2U, forms.a.fields.size()); |
+ |
+ FormFieldData& form_field = forms.a.fields[0]; |
+ EXPECT_EQ(WebString("fname"), form_field.name); |
+ EXPECT_EQ(WebString("Rick"), form_field.value); |
+ |
+ form_field = forms.a.fields[1]; |
+ EXPECT_EQ(WebString("lname"), form_field.name); |
+ EXPECT_EQ(WebString("Deckard"), form_field.value); |
} |
} // namespace autofill |