Chromium Code Reviews| Index: components/subresource_filter/core/common/unindexed_ruleset_unittest.cc |
| diff --git a/components/subresource_filter/core/common/unindexed_ruleset_unittest.cc b/components/subresource_filter/core/common/unindexed_ruleset_unittest.cc |
| index 5c093b3aa25609c902a6cff839192c75ec88bd3c..89eb989b06d6b79cb98d47e6f066f50ec6b79f9e 100644 |
| --- a/components/subresource_filter/core/common/unindexed_ruleset_unittest.cc |
| +++ b/components/subresource_filter/core/common/unindexed_ruleset_unittest.cc |
| @@ -140,6 +140,24 @@ TEST(UnindexedRulesetTest, EmptyRuleset) { |
| EXPECT_TRUE(IsRulesetValid(builder.ruleset_contents(), builder.url_rules())); |
| } |
| +// The following test addresses a bug, that the UnindexedRulesetWriter didn't |
|
engedy
2016/08/26 15:43:17
Let's just call a spade a spade + phrasing suggest
pkalinnikov1
2016/08/26 16:29:47
Done.
|
| +// trim the output coded stream on Finish, causing the output had some extra |
| +// uninitialized bytes at the end. |
| +TEST(UnindexedRulesetTest, EmptyRulesetRegression) { |
| + size_t contents_size_after_finish = 0; |
| + std::string contents; |
| + |
| + { |
| + google::protobuf::io::StringOutputStream output(&contents); |
| + UnindexedRulesetWriter ruleset_writer(&output); |
| + EXPECT_TRUE(ruleset_writer.Finish()); |
|
engedy
2016/08/26 15:43:17
Hang on, is this going to allocate a single byte o
pkalinnikov1
2016/08/26 16:29:47
No, the size of the contents will be 0. I could ad
|
| + contents_size_after_finish = contents.size(); |
| + } |
| + |
| + // The |contents| shouldn't be resized after writer/stream destruction. |
| + EXPECT_EQ(contents_size_after_finish, contents.size()); |
| +} |
| + |
| TEST(UnindexedRulesetTest, OneUrlRule) { |
| UnindexedRulesetTestBuilder builder; |
| EXPECT_TRUE(builder.AddUrlRule(UrlPattern("example.com"), |