OLD | NEW |
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 Loading... |
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 Loading... |
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="foo"]\"" |
| 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="foo"]\"" |
| 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 Loading... |
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 |
OLD | NEW |