| Index: chrome/browser/safe_browsing/protocol_parser_unittest.cc
|
| diff --git a/chrome/browser/safe_browsing/protocol_parser_unittest.cc b/chrome/browser/safe_browsing/protocol_parser_unittest.cc
|
| index bdc6356cd9c28c4dd97e564db14804a1b0533d73..fbec06350d75dba219fc93abb68dd1d0101f7a8c 100644
|
| --- a/chrome/browser/safe_browsing/protocol_parser_unittest.cc
|
| +++ b/chrome/browser/safe_browsing/protocol_parser_unittest.cc
|
| @@ -924,3 +924,43 @@ TEST(SafeBrowsingProtocolParsingTest, TestSubBinHashChunk) {
|
| EXPECT_EQ(entry->ChunkIdAtPrefix(1), 0x32323232);
|
| EXPECT_EQ(entry->PrefixAt(1), 0x6e6e6e6e);
|
| }
|
| +
|
| +TEST(SafeBrowsingProtocolParsingTest, TestAddDownloadWhitelistChunk) {
|
| + std::string add_chunk("a:1:32:32\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
| + "a:2:32:64\nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
|
| + "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
|
| + // Run the parse.
|
| + SafeBrowsingProtocolParser parser;
|
| + bool re_key = false;
|
| + SBChunkList chunks;
|
| + bool result = parser.ParseChunk(
|
| + safe_browsing_util::kDownloadWhiteList,
|
| + add_chunk.data(),
|
| + static_cast<int>(add_chunk.length()),
|
| + "", "", &re_key, &chunks);
|
| + EXPECT_TRUE(result);
|
| + EXPECT_FALSE(re_key);
|
| + EXPECT_EQ(chunks.size(), 2U);
|
| + EXPECT_EQ(chunks[0].chunk_number, 1);
|
| + EXPECT_EQ(chunks[0].hosts.size(), 1U);
|
| + EXPECT_EQ(chunks[0].hosts[0].host, 0);
|
| + SBEntry* entry = chunks[0].hosts[0].entry;
|
| + EXPECT_TRUE(entry->IsAdd());
|
| + EXPECT_FALSE(entry->IsPrefix());
|
| + EXPECT_EQ(entry->prefix_count(), 1);
|
| + SBFullHash full;
|
| + memcpy(full.full_hash, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 32);
|
| + EXPECT_TRUE(entry->FullHashAt(0) == full);
|
| +
|
| + EXPECT_EQ(chunks[1].chunk_number, 2);
|
| + EXPECT_EQ(chunks[1].hosts.size(), 1U);
|
| + EXPECT_EQ(chunks[1].hosts[0].host, 0);
|
| + entry = chunks[1].hosts[0].entry;
|
| + EXPECT_TRUE(entry->IsAdd());
|
| + EXPECT_FALSE(entry->IsPrefix());
|
| + EXPECT_EQ(entry->prefix_count(), 2);
|
| + memcpy(full.full_hash, "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy", 32);
|
| + EXPECT_TRUE(entry->FullHashAt(0) == full);
|
| + memcpy(full.full_hash, "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", 32);
|
| + EXPECT_TRUE(entry->FullHashAt(1) == full);
|
| +}
|
|
|