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

Side by Side Diff: components/autofill/browser/autofill_xml_parser_unittest.cc

Issue 15487004: Autocheckout: parse multiple clicks setting in autofill response. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ilya's comments Created 7 years, 6 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 | « components/autofill/browser/autofill_xml_parser.cc ('k') | no next file » | 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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "components/autofill/browser/autocheckout_page_meta_data.h" 10 #include "components/autofill/browser/autocheckout_page_meta_data.h"
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 218
219 ParseQueryXML(xml, true); 219 ParseQueryXML(xml, true);
220 220
221 EXPECT_EQ(1U, field_infos_.size()); 221 EXPECT_EQ(1U, field_infos_.size());
222 EXPECT_EQ(1, page_meta_data_.current_page_number); 222 EXPECT_EQ(1, page_meta_data_.current_page_number);
223 EXPECT_EQ(10, page_meta_data_.total_pages); 223 EXPECT_EQ(10, page_meta_data_.total_pages);
224 EXPECT_EQ("[name=\"foo\"]", 224 EXPECT_EQ("[name=\"foo\"]",
225 page_meta_data_.proceed_element_descriptor.descriptor); 225 page_meta_data_.proceed_element_descriptor.descriptor);
226 EXPECT_EQ(autofill::WebElementDescriptor::CSS_SELECTOR, 226 EXPECT_EQ(autofill::WebElementDescriptor::CSS_SELECTOR,
227 page_meta_data_.proceed_element_descriptor.retrieval_method); 227 page_meta_data_.proceed_element_descriptor.retrieval_method);
228
229 // Clear |field_infos_| for the next test;
230 field_infos_.clear();
231
232 // Test parsing click_elements_before_formfill correctly.
233 xml = "<autofillqueryresponse>"
234 "<field autofilltype=\"55\"/>"
235 "<autofill_flow page_no=\"1\" total_pages=\"10\">"
236 "<click_elements_before_formfill>"
237 "<web_element id=\"btn1\" /></click_elements_before_formfill>"
238 "<click_elements_before_formfill>"
239 "<web_element css_selector=\"[name=&quot;btn2&quot;]\"/>"
240 "</click_elements_before_formfill>"
241 "</autofill_flow>"
242 "</autofillqueryresponse>";
243
244 ParseQueryXML(xml, true);
245
246 EXPECT_EQ(1U, field_infos_.size());
247 EXPECT_EQ(1, page_meta_data_.current_page_number);
248 EXPECT_EQ(10, page_meta_data_.total_pages);
249 ASSERT_EQ(2U, page_meta_data_.click_elements_before_form_fill.size());
250 autofill::WebElementDescriptor& click_elment =
251 page_meta_data_.click_elements_before_form_fill[0];
252 EXPECT_EQ("btn1", click_elment.descriptor);
253 EXPECT_EQ(autofill::WebElementDescriptor::ID, click_elment.retrieval_method);
254 click_elment = page_meta_data_.click_elements_before_form_fill[1];
255 EXPECT_EQ("[name=\"btn2\"]", click_elment.descriptor);
256 EXPECT_EQ(autofill::WebElementDescriptor::CSS_SELECTOR,
257 click_elment.retrieval_method);
258
259 // Clear |field_infos_| for the next test;
260 field_infos_.clear();
261
262 // Test parsing click_elements_after_formfill correctly.
263 xml = "<autofillqueryresponse>"
264 "<field autofilltype=\"55\"/>"
265 "<autofill_flow page_no=\"1\" total_pages=\"10\">"
266 "<click_elements_after_formfill>"
267 "<web_element id=\"btn1\" /></click_elements_after_formfill>"
268 "</autofill_flow>"
269 "</autofillqueryresponse>";
270
271 ParseQueryXML(xml, true);
272
273 EXPECT_EQ(1U, field_infos_.size());
274 EXPECT_EQ(1, page_meta_data_.current_page_number);
275 EXPECT_EQ(10, page_meta_data_.total_pages);
276 ASSERT_EQ(1U, page_meta_data_.click_elements_after_form_fill.size());
277 click_elment = page_meta_data_.click_elements_after_form_fill[0];
278 EXPECT_EQ("btn1", click_elment.descriptor);
279 EXPECT_EQ(autofill::WebElementDescriptor::ID, click_elment.retrieval_method);
228 } 280 }
229 281
230 // Test badly formed XML queries. 282 // Test badly formed XML queries.
231 TEST_F(AutofillQueryXmlParserTest, ParseErrors) { 283 TEST_F(AutofillQueryXmlParserTest, ParseErrors) {
232 // Test no Autofill type. 284 // Test no Autofill type.
233 std::string xml = "<autofillqueryresponse>" 285 std::string xml = "<autofillqueryresponse>"
234 "<field/>" 286 "<field/>"
235 "</autofillqueryresponse>"; 287 "</autofillqueryresponse>";
236 288
237 ParseQueryXML(xml, false); 289 ParseQueryXML(xml, false);
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 EXPECT_DOUBLE_EQ(0, negative_); 366 EXPECT_DOUBLE_EQ(0, negative_);
315 367
316 ParseUploadXML(std::string(), false); 368 ParseUploadXML(std::string(), false);
317 369
318 EXPECT_DOUBLE_EQ(0, positive_); 370 EXPECT_DOUBLE_EQ(0, positive_);
319 EXPECT_DOUBLE_EQ(0, negative_); 371 EXPECT_DOUBLE_EQ(0, negative_);
320 } 372 }
321 373
322 } // namespace 374 } // namespace
323 } // namespace autofill 375 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/browser/autofill_xml_parser.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698