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

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

Issue 821453003: Update legacy Tuple-using code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years 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
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 "base/time/time.h" 5 #include "base/time/time.h"
6 #include "chrome/test/base/chrome_render_view_test.h" 6 #include "chrome/test/base/chrome_render_view_test.h"
7 #include "components/autofill/content/common/autofill_messages.h" 7 #include "components/autofill/content/common/autofill_messages.h"
8 #include "components/autofill/core/common/form_data.h" 8 #include "components/autofill/core/common/form_data.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/WebKit/public/platform/WebString.h" 10 #include "third_party/WebKit/public/platform/WebString.h"
(...skipping 18 matching lines...) Expand all
29 29
30 // Submit the form. 30 // Submit the form.
31 ExecuteJavaScript("document.getElementById('myForm').submit();"); 31 ExecuteJavaScript("document.getElementById('myForm').submit();");
32 ProcessPendingMessages(); 32 ProcessPendingMessages();
33 33
34 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( 34 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching(
35 AutofillHostMsg_FormSubmitted::ID); 35 AutofillHostMsg_FormSubmitted::ID);
36 ASSERT_TRUE(message != NULL); 36 ASSERT_TRUE(message != NULL);
37 37
38 // The tuple also includes a timestamp, which is ignored. 38 // The tuple also includes a timestamp, which is ignored.
39 Tuple2<FormData, base::TimeTicks> forms; 39 Tuple<FormData, base::TimeTicks> forms;
40 AutofillHostMsg_FormSubmitted::Read(message, &forms); 40 AutofillHostMsg_FormSubmitted::Read(message, &forms);
41 ASSERT_EQ(2U, forms.a.fields.size()); 41 ASSERT_EQ(2U, get<0>(forms).fields.size());
42 42
43 FormFieldData& form_field = forms.a.fields[0]; 43 FormFieldData& form_field = get<0>(forms).fields[0];
44 EXPECT_EQ(WebString("fname"), form_field.name); 44 EXPECT_EQ(WebString("fname"), form_field.name);
45 EXPECT_EQ(WebString("Rick"), form_field.value); 45 EXPECT_EQ(WebString("Rick"), form_field.value);
46 46
47 form_field = forms.a.fields[1]; 47 form_field = get<0>(forms).fields[1];
48 EXPECT_EQ(WebString("lname"), form_field.name); 48 EXPECT_EQ(WebString("lname"), form_field.name);
49 EXPECT_EQ(WebString("Deckard"), form_field.value); 49 EXPECT_EQ(WebString("Deckard"), form_field.value);
50 } 50 }
51 51
52 // Tests that submitting a form that has autocomplete="off" generates a 52 // Tests that submitting a form that has autocomplete="off" generates a
53 // FormSubmitted message. 53 // FormSubmitted message.
54 TEST_F(FormAutocompleteTest, AutoCompleteOffFormSubmit) { 54 TEST_F(FormAutocompleteTest, AutoCompleteOffFormSubmit) {
55 // Load a form. 55 // Load a form.
56 LoadHTML("<html><form id='myForm' autocomplete='off'>" 56 LoadHTML("<html><form id='myForm' autocomplete='off'>"
57 "<input name='fname' value='Rick'/>" 57 "<input name='fname' value='Rick'/>"
58 "<input name='lname' value='Deckard'/>" 58 "<input name='lname' value='Deckard'/>"
59 "</form></html>"); 59 "</form></html>");
60 60
61 // Submit the form. 61 // Submit the form.
62 ExecuteJavaScript("document.getElementById('myForm').submit();"); 62 ExecuteJavaScript("document.getElementById('myForm').submit();");
63 ProcessPendingMessages(); 63 ProcessPendingMessages();
64 64
65 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( 65 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching(
66 AutofillHostMsg_FormSubmitted::ID); 66 AutofillHostMsg_FormSubmitted::ID);
67 ASSERT_TRUE(message != NULL); 67 ASSERT_TRUE(message != NULL);
68 68
69 // The tuple also includes a timestamp, which is ignored. 69 // The tuple also includes a timestamp, which is ignored.
70 Tuple2<FormData, base::TimeTicks> forms; 70 Tuple<FormData, base::TimeTicks> forms;
71 AutofillHostMsg_FormSubmitted::Read(message, &forms); 71 AutofillHostMsg_FormSubmitted::Read(message, &forms);
72 ASSERT_EQ(2U, forms.a.fields.size()); 72 ASSERT_EQ(2U, get<0>(forms).fields.size());
73 73
74 FormFieldData& form_field = forms.a.fields[0]; 74 FormFieldData& form_field = get<0>(forms).fields[0];
75 EXPECT_EQ(WebString("fname"), form_field.name); 75 EXPECT_EQ(WebString("fname"), form_field.name);
76 EXPECT_EQ(WebString("Rick"), form_field.value); 76 EXPECT_EQ(WebString("Rick"), form_field.value);
77 77
78 form_field = forms.a.fields[1]; 78 form_field = get<0>(forms).fields[1];
79 EXPECT_EQ(WebString("lname"), form_field.name); 79 EXPECT_EQ(WebString("lname"), form_field.name);
80 EXPECT_EQ(WebString("Deckard"), form_field.value); 80 EXPECT_EQ(WebString("Deckard"), form_field.value);
81 } 81 }
82 82
83 // Tests that fields with autocomplete off are submitted. 83 // Tests that fields with autocomplete off are submitted.
84 TEST_F(FormAutocompleteTest, AutoCompleteOffInputSubmit) { 84 TEST_F(FormAutocompleteTest, AutoCompleteOffInputSubmit) {
85 // Load a form. 85 // Load a form.
86 LoadHTML("<html><form id='myForm'>" 86 LoadHTML("<html><form id='myForm'>"
87 "<input name='fname' value='Rick'/>" 87 "<input name='fname' value='Rick'/>"
88 "<input name='lname' value='Deckard' autocomplete='off'/>" 88 "<input name='lname' value='Deckard' autocomplete='off'/>"
89 "</form></html>"); 89 "</form></html>");
90 90
91 // Submit the form. 91 // Submit the form.
92 ExecuteJavaScript("document.getElementById('myForm').submit();"); 92 ExecuteJavaScript("document.getElementById('myForm').submit();");
93 ProcessPendingMessages(); 93 ProcessPendingMessages();
94 94
95 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( 95 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching(
96 AutofillHostMsg_FormSubmitted::ID); 96 AutofillHostMsg_FormSubmitted::ID);
97 ASSERT_TRUE(message != NULL); 97 ASSERT_TRUE(message != NULL);
98 98
99 // The tuple also includes a timestamp, which is ignored. 99 // The tuple also includes a timestamp, which is ignored.
100 Tuple2<FormData, base::TimeTicks> forms; 100 Tuple<FormData, base::TimeTicks> forms;
101 AutofillHostMsg_FormSubmitted::Read(message, &forms); 101 AutofillHostMsg_FormSubmitted::Read(message, &forms);
102 ASSERT_EQ(2U, forms.a.fields.size()); 102 ASSERT_EQ(2U, get<0>(forms).fields.size());
103 103
104 FormFieldData& form_field = forms.a.fields[0]; 104 FormFieldData& form_field = get<0>(forms).fields[0];
105 EXPECT_EQ(WebString("fname"), form_field.name); 105 EXPECT_EQ(WebString("fname"), form_field.name);
106 EXPECT_EQ(WebString("Rick"), form_field.value); 106 EXPECT_EQ(WebString("Rick"), form_field.value);
107 107
108 form_field = forms.a.fields[1]; 108 form_field = get<0>(forms).fields[1];
109 EXPECT_EQ(WebString("lname"), form_field.name); 109 EXPECT_EQ(WebString("lname"), form_field.name);
110 EXPECT_EQ(WebString("Deckard"), form_field.value); 110 EXPECT_EQ(WebString("Deckard"), form_field.value);
111 } 111 }
112 112
113 // Tests that submitting a form that has been dynamically set as autocomplete 113 // Tests that submitting a form that has been dynamically set as autocomplete
114 // off generates a FormSubmitted message. 114 // off generates a FormSubmitted message.
115 // Note: We previously did the opposite, for bug http://crbug.com/36520 115 // Note: We previously did the opposite, for bug http://crbug.com/36520
116 TEST_F(FormAutocompleteTest, DynamicAutoCompleteOffFormSubmit) { 116 TEST_F(FormAutocompleteTest, DynamicAutoCompleteOffFormSubmit) {
117 LoadHTML("<html><form id='myForm'><input name='fname' value='Rick'/>" 117 LoadHTML("<html><form id='myForm'><input name='fname' value='Rick'/>"
118 "<input name='lname' value='Deckard'/></form></html>"); 118 "<input name='lname' value='Deckard'/></form></html>");
(...skipping 12 matching lines...) Expand all
131 131
132 // Submit the form. 132 // Submit the form.
133 ExecuteJavaScript("document.getElementById('myForm').submit();"); 133 ExecuteJavaScript("document.getElementById('myForm').submit();");
134 ProcessPendingMessages(); 134 ProcessPendingMessages();
135 135
136 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( 136 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching(
137 AutofillHostMsg_FormSubmitted::ID); 137 AutofillHostMsg_FormSubmitted::ID);
138 ASSERT_TRUE(message != NULL); 138 ASSERT_TRUE(message != NULL);
139 139
140 // The tuple also includes a timestamp, which is ignored. 140 // The tuple also includes a timestamp, which is ignored.
141 Tuple2<FormData, base::TimeTicks> forms; 141 Tuple<FormData, base::TimeTicks> forms;
142 AutofillHostMsg_FormSubmitted::Read(message, &forms); 142 AutofillHostMsg_FormSubmitted::Read(message, &forms);
143 ASSERT_EQ(2U, forms.a.fields.size()); 143 ASSERT_EQ(2U, get<0>(forms).fields.size());
144 144
145 FormFieldData& form_field = forms.a.fields[0]; 145 FormFieldData& form_field = get<0>(forms).fields[0];
146 EXPECT_EQ(WebString("fname"), form_field.name); 146 EXPECT_EQ(WebString("fname"), form_field.name);
147 EXPECT_EQ(WebString("Rick"), form_field.value); 147 EXPECT_EQ(WebString("Rick"), form_field.value);
148 148
149 form_field = forms.a.fields[1]; 149 form_field = get<0>(forms).fields[1];
150 EXPECT_EQ(WebString("lname"), form_field.name); 150 EXPECT_EQ(WebString("lname"), form_field.name);
151 EXPECT_EQ(WebString("Deckard"), form_field.value); 151 EXPECT_EQ(WebString("Deckard"), form_field.value);
152 } 152 }
153 153
154 } // namespace autofill 154 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698