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

Side by Side Diff: chrome/renderer/autofill/form_autocomplete_browsertest.cc

Issue 2650623002: Use explicit WebString conversions in autofill (Closed)
Patch Set: . Created 3 years, 11 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/renderer/autofill/form_autofill_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <tuple> 5 #include <tuple>
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "base/time/time.h" 9 #include "base/time/time.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 const std::string& fname, 104 const std::string& fname,
105 const std::string& lname, 105 const std::string& lname,
106 bool expect_submitted_message) { 106 bool expect_submitted_message) {
107 ASSERT_TRUE(fake_driver.form_will_submit()); 107 ASSERT_TRUE(fake_driver.form_will_submit());
108 ASSERT_EQ(expect_submitted_message, fake_driver.form_submitted() != nullptr); 108 ASSERT_EQ(expect_submitted_message, fake_driver.form_submitted() != nullptr);
109 109
110 // The tuple also includes a timestamp, which is ignored. 110 // The tuple also includes a timestamp, which is ignored.
111 const FormData& will_submit_form = *(fake_driver.form_will_submit()); 111 const FormData& will_submit_form = *(fake_driver.form_will_submit());
112 ASSERT_LE(2U, will_submit_form.fields.size()); 112 ASSERT_LE(2U, will_submit_form.fields.size());
113 113
114 EXPECT_EQ(WebString("fname"), will_submit_form.fields[0].name); 114 EXPECT_EQ(base::ASCIIToUTF16("fname"), will_submit_form.fields[0].name);
115 EXPECT_EQ(WebString(base::UTF8ToUTF16(fname)), 115 EXPECT_EQ(base::UTF8ToUTF16(fname), will_submit_form.fields[0].value);
116 will_submit_form.fields[0].value); 116 EXPECT_EQ(base::ASCIIToUTF16("lname"), will_submit_form.fields[1].name);
117 EXPECT_EQ(WebString("lname"), will_submit_form.fields[1].name); 117 EXPECT_EQ(base::UTF8ToUTF16(lname), will_submit_form.fields[1].value);
118 EXPECT_EQ(WebString(base::UTF8ToUTF16(lname)),
119 will_submit_form.fields[1].value);
120 118
121 if (expect_submitted_message) { 119 if (expect_submitted_message) {
122 const FormData& submitted_form = *(fake_driver.form_submitted()); 120 const FormData& submitted_form = *(fake_driver.form_submitted());
123 ASSERT_LE(2U, submitted_form.fields.size()); 121 ASSERT_LE(2U, submitted_form.fields.size());
124 122
125 EXPECT_EQ(WebString("fname"), submitted_form.fields[0].name); 123 EXPECT_EQ(base::ASCIIToUTF16("fname"), submitted_form.fields[0].name);
126 EXPECT_EQ(WebString(base::UTF8ToUTF16(fname)), 124 EXPECT_EQ(base::UTF8ToUTF16(fname), submitted_form.fields[0].value);
127 submitted_form.fields[0].value); 125 EXPECT_EQ(base::ASCIIToUTF16("lname"), submitted_form.fields[1].name);
128 EXPECT_EQ(WebString("lname"), submitted_form.fields[1].name); 126 EXPECT_EQ(base::UTF8ToUTF16(lname), submitted_form.fields[1].value);
129 EXPECT_EQ(WebString(base::UTF8ToUTF16(lname)),
130 submitted_form.fields[1].value);
131 } 127 }
132 } 128 }
133 129
134 // Helper function to verify that NO form-related messages are received from the 130 // Helper function to verify that NO form-related messages are received from the
135 // renderer. 131 // renderer.
136 void VerifyNoSubmitMessagesReceived( 132 void VerifyNoSubmitMessagesReceived(
137 const FakeContentAutofillDriver& fake_driver) { 133 const FakeContentAutofillDriver& fake_driver) {
138 // No submission messages sent. 134 // No submission messages sent.
139 EXPECT_EQ(nullptr, fake_driver.form_will_submit()); 135 EXPECT_EQ(nullptr, fake_driver.form_will_submit());
140 EXPECT_EQ(nullptr, fake_driver.form_submitted()); 136 EXPECT_EQ(nullptr, fake_driver.form_submitted());
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 "</select>" 510 "</select>"
515 "<form><input type='text' name='excluded'/></form>" 511 "<form><input type='text' name='excluded'/></form>"
516 "</html>"); 512 "</html>");
517 513
518 FormData result; 514 FormData result;
519 autofill_agent_->CollectFormlessElements(&result); 515 autofill_agent_->CollectFormlessElements(&result);
520 516
521 // Asserting size 4 also ensures that 'excluded' field inside <form> is not 517 // Asserting size 4 also ensures that 'excluded' field inside <form> is not
522 // collected. 518 // collected.
523 ASSERT_EQ(4U, result.fields.size()); 519 ASSERT_EQ(4U, result.fields.size());
524 EXPECT_EQ(WebString("text_input"), result.fields[0].name); 520 EXPECT_EQ(base::ASCIIToUTF16("text_input"), result.fields[0].name);
525 EXPECT_EQ(WebString("check_input"), result.fields[1].name); 521 EXPECT_EQ(base::ASCIIToUTF16("check_input"), result.fields[1].name);
526 EXPECT_EQ(WebString("number_input"), result.fields[2].name); 522 EXPECT_EQ(base::ASCIIToUTF16("number_input"), result.fields[2].name);
527 EXPECT_EQ(WebString("select_input"), result.fields[3].name); 523 EXPECT_EQ(base::ASCIIToUTF16("select_input"), result.fields[3].name);
528 } 524 }
529 525
530 // Test that a FocusNoLongerOnForm message is sent if focus goes from an 526 // Test that a FocusNoLongerOnForm message is sent if focus goes from an
531 // interacted form to an element outside the form. 527 // interacted form to an element outside the form.
532 TEST_F(FormAutocompleteTest, 528 TEST_F(FormAutocompleteTest,
533 InteractedFormNoLongerFocused_FocusNoLongerOnForm) { 529 InteractedFormNoLongerFocused_FocusNoLongerOnForm) {
534 // Load a form. 530 // Load a form.
535 LoadHTML( 531 LoadHTML(
536 "<html><input type='text' id='different'/>" 532 "<html><input type='text' id='different'/>"
537 "<form id='myForm' action='http://example.com/blade.php'>" 533 "<form id='myForm' action='http://example.com/blade.php'>"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 644
649 // Submit the form. 645 // Submit the form.
650 ExecuteJavaScriptForTests("document.getElementById('myForm').submit();"); 646 ExecuteJavaScriptForTests("document.getElementById('myForm').submit();");
651 ProcessPendingMessages(); 647 ProcessPendingMessages();
652 648
653 VerifyReceivedRendererMessages(fake_driver_, "Rick", "Deckard", 649 VerifyReceivedRendererMessages(fake_driver_, "Rick", "Deckard",
654 true /* expect_submitted_message */); 650 true /* expect_submitted_message */);
655 } 651 }
656 652
657 } // namespace autofill 653 } // namespace autofill
OLDNEW
« no previous file with comments | « no previous file | chrome/renderer/autofill/form_autofill_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698