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

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

Issue 16611003: Ignore ajax on specified pages. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: unit tests 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
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/autofill_xml_parser.h" 10 #include "components/autofill/browser/autofill_xml_parser.h"
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 "<autofill_flow page_no=\"1\" total_pages=\"10\">" 172 "<autofill_flow page_no=\"1\" total_pages=\"10\">"
173 "<page_advance_button id=\"foo\"/>" 173 "<page_advance_button id=\"foo\"/>"
174 "</autofill_flow>" 174 "</autofill_flow>"
175 "</autofillqueryresponse>"; 175 "</autofillqueryresponse>";
176 176
177 ParseQueryXML(xml, true); 177 ParseQueryXML(xml, true);
178 178
179 EXPECT_EQ(1U, field_infos_.size()); 179 EXPECT_EQ(1U, field_infos_.size());
180 EXPECT_EQ(1, page_meta_data_.current_page_number); 180 EXPECT_EQ(1, page_meta_data_.current_page_number);
181 EXPECT_EQ(10, page_meta_data_.total_pages); 181 EXPECT_EQ(10, page_meta_data_.total_pages);
182 EXPECT_FALSE(page_meta_data_.ignore_ajax);
182 EXPECT_EQ("foo", page_meta_data_.proceed_element_descriptor.descriptor); 183 EXPECT_EQ("foo", page_meta_data_.proceed_element_descriptor.descriptor);
183 EXPECT_EQ(autofill::WebElementDescriptor::ID, 184 EXPECT_EQ(autofill::WebElementDescriptor::ID,
184 page_meta_data_.proceed_element_descriptor.retrieval_method); 185 page_meta_data_.proceed_element_descriptor.retrieval_method);
185 186
186 // Clear |field_infos_| for the next test; 187 // Clear |field_infos_| for the next test;
187 field_infos_.clear(); 188 field_infos_.clear();
188 189
189 // Test css_selector as page_advance_button. 190 // Test css_selector as page_advance_button.
190 xml = "<autofillqueryresponse>" 191 xml = "<autofillqueryresponse>"
191 "<field autofilltype=\"55\"/>" 192 "<field autofilltype=\"55\"/>"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 271
271 ParseQueryXML(xml, true); 272 ParseQueryXML(xml, true);
272 273
273 EXPECT_EQ(1U, field_infos_.size()); 274 EXPECT_EQ(1U, field_infos_.size());
274 EXPECT_EQ(1, page_meta_data_.current_page_number); 275 EXPECT_EQ(1, page_meta_data_.current_page_number);
275 EXPECT_EQ(10, page_meta_data_.total_pages); 276 EXPECT_EQ(10, page_meta_data_.total_pages);
276 ASSERT_EQ(1U, page_meta_data_.click_elements_after_form_fill.size()); 277 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 click_elment = page_meta_data_.click_elements_after_form_fill[0];
278 EXPECT_EQ("btn1", click_elment.descriptor); 279 EXPECT_EQ("btn1", click_elment.descriptor);
279 EXPECT_EQ(autofill::WebElementDescriptor::ID, click_elment.retrieval_method); 280 EXPECT_EQ(autofill::WebElementDescriptor::ID, click_elment.retrieval_method);
281
282 // Clear |field_infos_| for the next test.
283 field_infos_.clear();
284
285 // Test setting of ignore_ajax attribute.
286 xml = "<autofillqueryresponse>"
287 "<field autofilltype=\"55\"/>"
288 "<autofill_flow page_no=\"1\" total_pages=\"10\" ignore_ajax=\"true\">"
289 "<page_advance_button css_selector=\"[name=&quot;foo&quot;]\""
290 " id=\"foo\"/>"
291 "</autofill_flow>"
292 "</autofillqueryresponse>";
293
294 ParseQueryXML(xml, true);
295
296 EXPECT_EQ(1U, field_infos_.size());
297 EXPECT_EQ(1, page_meta_data_.current_page_number);
298 EXPECT_EQ(10, page_meta_data_.total_pages);
299 EXPECT_TRUE(page_meta_data_.ignore_ajax);
300 EXPECT_EQ("[name=\"foo\"]",
301 page_meta_data_.proceed_element_descriptor.descriptor);
302 EXPECT_EQ(autofill::WebElementDescriptor::CSS_SELECTOR,
303 page_meta_data_.proceed_element_descriptor.retrieval_method);
304
305 // Clear |field_infos_| for the next test.
306 field_infos_.clear();
307
308 // Test redundant setting to false of ignore_ajax attribute.
309 xml = "<autofillqueryresponse>"
310 "<field autofilltype=\"55\"/>"
311 "<autofill_flow page_no=\"1\" total_pages=\"10\" ignore_ajax=\"false\">"
312 "<page_advance_button css_selector=\"[name=&quot;foo&quot;]\""
313 " id=\"foo\"/>"
314 "</autofill_flow>"
315 "</autofillqueryresponse>";
316
317 ParseQueryXML(xml, true);
318
319 EXPECT_EQ(1U, field_infos_.size());
320 EXPECT_EQ(1, page_meta_data_.current_page_number);
321 EXPECT_EQ(10, page_meta_data_.total_pages);
322 EXPECT_FALSE(page_meta_data_.ignore_ajax);
323 EXPECT_EQ("[name=\"foo\"]",
324 page_meta_data_.proceed_element_descriptor.descriptor);
325 EXPECT_EQ(autofill::WebElementDescriptor::CSS_SELECTOR,
326 page_meta_data_.proceed_element_descriptor.retrieval_method);
280 } 327 }
281 328
282 // Test badly formed XML queries. 329 // Test badly formed XML queries.
283 TEST_F(AutofillQueryXmlParserTest, ParseErrors) { 330 TEST_F(AutofillQueryXmlParserTest, ParseErrors) {
284 // Test no Autofill type. 331 // Test no Autofill type.
285 std::string xml = "<autofillqueryresponse>" 332 std::string xml = "<autofillqueryresponse>"
286 "<field/>" 333 "<field/>"
287 "</autofillqueryresponse>"; 334 "</autofillqueryresponse>";
288 335
289 ParseQueryXML(xml, false); 336 ParseQueryXML(xml, false);
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 EXPECT_DOUBLE_EQ(0, negative_); 413 EXPECT_DOUBLE_EQ(0, negative_);
367 414
368 ParseUploadXML(std::string(), false); 415 ParseUploadXML(std::string(), false);
369 416
370 EXPECT_DOUBLE_EQ(0, positive_); 417 EXPECT_DOUBLE_EQ(0, positive_);
371 EXPECT_DOUBLE_EQ(0, negative_); 418 EXPECT_DOUBLE_EQ(0, negative_);
372 } 419 }
373 420
374 } // namespace 421 } // namespace
375 } // namespace autofill 422 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698