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