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 wait_time_ms=\"10\">" |
| 237 "<web_element id=\"btn1\" /></click_elements_before_formfill>" |
| 238 "<click_elements_before_formfill wait_time_ms=\"2\">" |
| 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 EXPECT_EQ(2U, page_meta_data_.click_elements_before_formfill.size()); |
| 250 AutocheckoutPageMetaData::ClickElement& click_elment = |
| 251 page_meta_data_.click_elements_before_formfill[0]; |
| 252 EXPECT_EQ(10, click_elment.wait_time_ms); |
| 253 EXPECT_EQ("btn1", click_elment.web_element.descriptor); |
| 254 EXPECT_EQ(autofill::WebElementDescriptor::ID, |
| 255 click_elment.web_element.retrieval_method); |
| 256 click_elment = page_meta_data_.click_elements_before_formfill[1]; |
| 257 EXPECT_EQ(2, click_elment.wait_time_ms); |
| 258 EXPECT_EQ("[name=\"btn2\"]", click_elment.web_element.descriptor); |
| 259 EXPECT_EQ(autofill::WebElementDescriptor::CSS_SELECTOR, |
| 260 click_elment.web_element.retrieval_method); |
| 261 |
| 262 // Clear |field_infos_| for the next test; |
| 263 field_infos_.clear(); |
| 264 |
| 265 // Test parsing click_elements_after_formfill correctly. |
| 266 xml = "<autofillqueryresponse>" |
| 267 "<field autofilltype=\"55\"/>" |
| 268 "<autofill_flow page_no=\"1\" total_pages=\"10\">" |
| 269 "<click_elements_after_formfill wait_time_ms=\"7\">" |
| 270 "<web_element id=\"btn1\" /></click_elements_after_formfill>" |
| 271 "</autofill_flow>" |
| 272 "</autofillqueryresponse>"; |
| 273 |
| 274 ParseQueryXML(xml, true); |
| 275 |
| 276 EXPECT_EQ(1U, field_infos_.size()); |
| 277 EXPECT_EQ(1, page_meta_data_.current_page_number); |
| 278 EXPECT_EQ(10, page_meta_data_.total_pages); |
| 279 EXPECT_EQ(1U, page_meta_data_.click_elements_after_formfill.size()); |
| 280 click_elment = page_meta_data_.click_elements_after_formfill[0]; |
| 281 EXPECT_EQ(7, click_elment.wait_time_ms); |
| 282 EXPECT_EQ("btn1", click_elment.web_element.descriptor); |
| 283 EXPECT_EQ(autofill::WebElementDescriptor::ID, |
| 284 click_elment.web_element.retrieval_method); |
228 } | 285 } |
229 | 286 |
230 // Test badly formed XML queries. | 287 // Test badly formed XML queries. |
231 TEST_F(AutofillQueryXmlParserTest, ParseErrors) { | 288 TEST_F(AutofillQueryXmlParserTest, ParseErrors) { |
232 // Test no Autofill type. | 289 // Test no Autofill type. |
233 std::string xml = "<autofillqueryresponse>" | 290 std::string xml = "<autofillqueryresponse>" |
234 "<field/>" | 291 "<field/>" |
235 "</autofillqueryresponse>"; | 292 "</autofillqueryresponse>"; |
236 | 293 |
237 ParseQueryXML(xml, false); | 294 ParseQueryXML(xml, false); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 EXPECT_DOUBLE_EQ(0, negative_); | 371 EXPECT_DOUBLE_EQ(0, negative_); |
315 | 372 |
316 ParseUploadXML(std::string(), false); | 373 ParseUploadXML(std::string(), false); |
317 | 374 |
318 EXPECT_DOUBLE_EQ(0, positive_); | 375 EXPECT_DOUBLE_EQ(0, positive_); |
319 EXPECT_DOUBLE_EQ(0, negative_); | 376 EXPECT_DOUBLE_EQ(0, negative_); |
320 } | 377 } |
321 | 378 |
322 } // namespace | 379 } // namespace |
323 } // namespace autofill | 380 } // namespace autofill |
OLD | NEW |