diff options
author | georgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-02 22:01:20 +0000 |
---|---|---|
committer | georgey@chromium.org <georgey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-02 22:01:20 +0000 |
commit | db16347063a2217641ddd992f1f029af24362a59 (patch) | |
tree | 9e74d716e342052d9c1989f13e110935d9a98763 /chrome/browser/autofill/autofill_xml_parser_unittest.cc | |
parent | 4af869aded61930f3085f28548a89daf4ab2ef0f (diff) | |
download | chromium_src-db16347063a2217641ddd992f1f029af24362a59.zip chromium_src-db16347063a2217641ddd992f1f029af24362a59.tar.gz chromium_src-db16347063a2217641ddd992f1f029af24362a59.tar.bz2 |
Behaving nice with AutoFill servers: Adjusting upload rate, processing 500, 502 and 503 responses, etc.
TEST=Unit-tested + by setting up the response from AutoFill server.
BUG=39921
Review URL: http://codereview.chromium.org/1535011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43531 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autofill/autofill_xml_parser_unittest.cc')
-rw-r--r-- | chrome/browser/autofill/autofill_xml_parser_unittest.cc | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/chrome/browser/autofill/autofill_xml_parser_unittest.cc b/chrome/browser/autofill/autofill_xml_parser_unittest.cc index 7e1e55c..c06df83 100644 --- a/chrome/browser/autofill/autofill_xml_parser_unittest.cc +++ b/chrome/browser/autofill/autofill_xml_parser_unittest.cc @@ -135,4 +135,59 @@ TEST(AutoFillQueryXmlParserTest, ParseErrors) { EXPECT_EQ(NO_SERVER_DATA, field_types[0]); } +// Test successfull upload response. +TEST(AutoFillUploadXmlParser, TestSuccessfulResponse) { + std::string xml = "<autofilluploadresponse positiveuploadrate=\"0.5\" " + "negativeuploadrate=\"0.3\"/>"; + double positive = 0; + double negative = 0; + AutoFillUploadXmlParser parse_handler(&positive, &negative); + buzz::XmlParser parser(&parse_handler); + parser.Parse(xml.c_str(), xml.length(), true); + EXPECT_TRUE(parse_handler.succeeded()); + EXPECT_DOUBLE_EQ(0.5, positive); + EXPECT_DOUBLE_EQ(0.3, negative); +} + +// Test failed upload response. +TEST(AutoFillUploadXmlParser, TestFailedResponse) { + std::string xml = "<autofilluploadresponse positiveuploadrate=\"\" " + "negativeuploadrate=\"0.3\"/>"; + double positive = 0; + double negative = 0; + scoped_ptr<AutoFillUploadXmlParser> parse_handler( + new AutoFillUploadXmlParser(&positive, &negative)); + scoped_ptr<buzz::XmlParser> parser(new buzz::XmlParser(parse_handler.get())); + parser->Parse(xml.c_str(), xml.length(), true); + EXPECT_TRUE(!parse_handler->succeeded()); + EXPECT_DOUBLE_EQ(0, positive); + EXPECT_DOUBLE_EQ(0.3, negative); // Partially parsed. + negative = 0; + + xml = "<autofilluploadresponse positiveuploadrate=\"0.5\" " + "negativeuploadrate=\"0.3\""; + parse_handler.reset(new AutoFillUploadXmlParser(&positive, &negative)); + parser.reset(new buzz::XmlParser(parse_handler.get())); + parser->Parse(xml.c_str(), xml.length(), true); + EXPECT_TRUE(!parse_handler->succeeded()); + EXPECT_DOUBLE_EQ(0, positive); + EXPECT_DOUBLE_EQ(0, negative); + + xml = "bad data"; + parse_handler.reset(new AutoFillUploadXmlParser(&positive, &negative)); + parser.reset(new buzz::XmlParser(parse_handler.get())); + parser->Parse(xml.c_str(), xml.length(), true); + EXPECT_TRUE(!parse_handler->succeeded()); + EXPECT_DOUBLE_EQ(0, positive); + EXPECT_DOUBLE_EQ(0, negative); + + xml = ""; + parse_handler.reset(new AutoFillUploadXmlParser(&positive, &negative)); + parser.reset(new buzz::XmlParser(parse_handler.get())); + parser->Parse(xml.c_str(), xml.length(), true); + EXPECT_TRUE(!parse_handler->succeeded()); + EXPECT_DOUBLE_EQ(0, positive); + EXPECT_DOUBLE_EQ(0, negative); +} + } // namespace |