Chromium Code Reviews| Index: chrome/renderer/autofill/autofill_renderer_browsertest.cc |
| diff --git a/chrome/renderer/autofill/autofill_renderer_browsertest.cc b/chrome/renderer/autofill/autofill_renderer_browsertest.cc |
| index c09c4c2b164e05ec10336ccda428e5801dad0da7..584d5084b3ab5d5c36a4b44e17e959207993f7c8 100644 |
| --- a/chrome/renderer/autofill/autofill_renderer_browsertest.cc |
| +++ b/chrome/renderer/autofill/autofill_renderer_browsertest.cc |
| @@ -25,7 +25,7 @@ TEST_F(ChromeRenderViewTest, SendForms) { |
| // loop, it will generate an update. |
| SendContentStateImmediately(); |
| - LoadHTML("<form method=\"POST\">" |
| + LoadHTML("<form method=\"POST\" id=\"testform\">" |
| " <input type=\"text\" id=\"firstname\"/>" |
| " <input type=\"text\" id=\"middlename\"/>" |
| " <input type=\"text\" id=\"lastname\" autoComplete=\"off\"/>" |
| @@ -123,6 +123,28 @@ TEST_F(ChromeRenderViewTest, SendForms) { |
| expected.form_control_type = "select-one"; |
| expected.max_length = 0; |
| EXPECT_FORM_FIELD_DATA_EQUALS(expected, form2.fields[2]); |
| + |
| + autofill_agent_->OnWhitelistedForAutocheckout(); |
|
ahutter
2013/03/29 19:48:31
Might want to make this a new TEST_F
Dane Wallinga
2013/03/29 21:41:12
Done.
|
| + render_thread_->sink().ClearMessages(); |
| + ExecuteJavaScript("newInput=document.createElement(\"input\");" |
|
ahutter
2013/03/29 19:48:31
nit but should this be "var newInput="
Dane Wallinga
2013/03/29 21:41:12
Done.
|
| + "newInput.setAttribute(\"type\",\"text\");" |
| + "newInput.setAttribute(\"id\", \"telephone\");" |
| + "document.getElementById(\"testform\").appendChild(newInput);"); |
| + msg_loop_.RunUntilIdle(); |
| + // Verify that FormsSeen is resent with the new field. |
| + const IPC::Message* message3 = render_thread_->sink().GetFirstMessageMatching( |
| + AutofillHostMsg_FormsSeen::ID); |
| + ASSERT_NE(static_cast<IPC::Message*>(NULL), message3); |
| + AutofillHostMsg_FormsSeen::Read(message3, ¶ms); |
| + const std::vector<FormData>& new_forms = params.a; |
| + ASSERT_EQ(1UL, new_forms.size()); |
| + ASSERT_EQ(5UL, new_forms[0].fields.size()); |
| + |
| + expected.name = ASCIIToUTF16("telephone"); |
| + expected.value = string16(); |
| + expected.form_control_type = "text"; |
| + expected.max_length = WebInputElement::defaultMaxLength(); |
| + EXPECT_FORM_FIELD_DATA_EQUALS(expected, forms[0].fields[4]); |
| } |
| TEST_F(ChromeRenderViewTest, FillFormElement) { |