summaryrefslogtreecommitdiffstats
path: root/chrome/browser/safe_browsing/protocol_parser_unittest.cc
diff options
context:
space:
mode:
authorpaulg@google.com <paulg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-08 01:22:30 +0000
committerpaulg@google.com <paulg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-08 01:22:30 +0000
commit3b0f5f6fb61bd3a896670d91e8aa42c4e2c772b9 (patch)
treea15d63db3fda923116a959397c0da2023c37f2ee /chrome/browser/safe_browsing/protocol_parser_unittest.cc
parent9162a11c97dd8f1a8a701f5ce04905b0cf41991e (diff)
downloadchromium_src-3b0f5f6fb61bd3a896670d91e8aa42c4e2c772b9.zip
chromium_src-3b0f5f6fb61bd3a896670d91e8aa42c4e2c772b9.tar.gz
chromium_src-3b0f5f6fb61bd3a896670d91e8aa42c4e2c772b9.tar.bz2
Ignore GetHash results for lists that we don't support.
BUG=5597 (http://crbug.com/5597) Review URL: http://codereview.chromium.org/16595 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7710 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/safe_browsing/protocol_parser_unittest.cc')
-rw-r--r--chrome/browser/safe_browsing/protocol_parser_unittest.cc41
1 files changed, 41 insertions, 0 deletions
diff --git a/chrome/browser/safe_browsing/protocol_parser_unittest.cc b/chrome/browser/safe_browsing/protocol_parser_unittest.cc
index b5799cd..e651c14 100644
--- a/chrome/browser/safe_browsing/protocol_parser_unittest.cc
+++ b/chrome/browser/safe_browsing/protocol_parser_unittest.cc
@@ -491,6 +491,47 @@ TEST(SafeBrowsingProtocolParsingTest, TestGetHashWithMac) {
EXPECT_EQ(memcmp(hash_result, &full_hashes[0].hash, sizeof(SBFullHash)), 0);
}
+TEST(SafeBrowsingProtocolParsingTest, TestGetHashWithUnknownList) {
+ std::string hash_response = "goog-phish-shavar:1:32\n"
+ "12345678901234567890123456789012"
+ "googpub-phish-shavar:19:32\n"
+ "09876543210987654321098765432109";
+ bool re_key = false;
+ std::string key = "";
+ std::vector<SBFullHashResult> full_hashes;
+ SafeBrowsingProtocolParser parser;
+ EXPECT_TRUE(parser.ParseGetHash(hash_response.data(),
+ hash_response.size(),
+ key,
+ &re_key,
+ &full_hashes));
+
+ EXPECT_EQ(full_hashes.size(), 1);
+ EXPECT_EQ(memcmp("12345678901234567890123456789012",
+ &full_hashes[0].hash, sizeof(SBFullHash)), 0);
+ EXPECT_EQ(full_hashes[0].list_name, "goog-phish-shavar");
+ EXPECT_EQ(full_hashes[0].add_chunk_id, 1);
+
+ hash_response += "goog-malware-shavar:7:32\n"
+ "abcdefghijklmnopqrstuvwxyz123457";
+ full_hashes.clear();
+ EXPECT_TRUE(parser.ParseGetHash(hash_response.data(),
+ hash_response.size(),
+ key,
+ &re_key,
+ &full_hashes));
+
+ EXPECT_EQ(full_hashes.size(), 2);
+ EXPECT_EQ(memcmp("12345678901234567890123456789012",
+ &full_hashes[0].hash, sizeof(SBFullHash)), 0);
+ EXPECT_EQ(full_hashes[0].list_name, "goog-phish-shavar");
+ EXPECT_EQ(full_hashes[0].add_chunk_id, 1);
+ EXPECT_EQ(memcmp("abcdefghijklmnopqrstuvwxyz123457",
+ &full_hashes[1].hash, sizeof(SBFullHash)), 0);
+ EXPECT_EQ(full_hashes[1].list_name, "goog-malware-shavar");
+ EXPECT_EQ(full_hashes[1].add_chunk_id, 7);
+}
+
TEST(SafeBrowsingProtocolParsingTest, TestFormatHash) {
SafeBrowsingProtocolParser parser;
std::vector<SBPrefix> prefixes;