| Index: components/bookmarks/browser/bookmark_codec_unittest.cc
|
| diff --git a/components/bookmarks/browser/bookmark_codec_unittest.cc b/components/bookmarks/browser/bookmark_codec_unittest.cc
|
| index a9d8523658af4b1be46f21c10d379bb6aecca74d..8c4d2a74bfa96642f3d084f6f7747f2c5558d5f5 100644
|
| --- a/components/bookmarks/browser/bookmark_codec_unittest.cc
|
| +++ b/components/bookmarks/browser/bookmark_codec_unittest.cc
|
| @@ -189,12 +189,20 @@ class BookmarkCodecTest : public testing::Test {
|
| // Computed and stored checksums should be empty.
|
| EXPECT_EQ("", decoder.computed_checksum());
|
| EXPECT_EQ("", decoder.stored_checksum());
|
| + return DecodeHelper(&decoder, value, expected_stored_checksum,
|
| + computed_checksum, expected_changes);
|
| + }
|
|
|
| + BookmarkModel* DecodeHelper(BookmarkCodec* decoder,
|
| + const base::Value& value,
|
| + const std::string& expected_stored_checksum,
|
| + std::string* computed_checksum,
|
| + bool expected_changes) {
|
| std::unique_ptr<BookmarkModel> model(TestBookmarkClient::CreateModel());
|
| - EXPECT_TRUE(Decode(&decoder, model.get(), value));
|
| + EXPECT_TRUE(Decode(decoder, model.get(), value));
|
|
|
| - *computed_checksum = decoder.computed_checksum();
|
| - const std::string& stored_checksum = decoder.stored_checksum();
|
| + *computed_checksum = decoder->computed_checksum();
|
| + const std::string& stored_checksum = decoder->stored_checksum();
|
|
|
| // Computed and stored checksums should not be empty.
|
| EXPECT_FALSE(computed_checksum->empty());
|
| @@ -427,6 +435,40 @@ TEST_F(BookmarkCodecTest, EncodeAndDecodeMetaInfo) {
|
| EXPECT_FALSE(child->GetMetaInfo("other_key", &meta_value));
|
| }
|
|
|
| +TEST_F(BookmarkCodecTest, ExcludeMetaKeysOnDecode) {
|
| + // Add meta info and encode.
|
| + std::unique_ptr<BookmarkModel> model(CreateTestModel1());
|
| + model->SetNodeMetaInfo(model->root_node(), "model_info", "value1");
|
| + model->SetNodeMetaInfo(model->root_node(), "excluded", "value1");
|
| + model->SetNodeMetaInfo(model->bookmark_bar_node()->GetChild(0),
|
| + "not_included", "value2");
|
| + model->SetNodeMetaInfo(model->bookmark_bar_node()->GetChild(0), "node_info",
|
| + "value2");
|
| + std::string checksum;
|
| + std::unique_ptr<base::Value> value(EncodeHelper(model.get(), &checksum));
|
| + ASSERT_TRUE(value.get() != NULL);
|
| +
|
| + BookmarkCodec decoder;
|
| + const char* const kExcludedList[] = {"excluded", "not_included"};
|
| + std::vector<std::string> list(std::begin(kExcludedList),
|
| + std::end(kExcludedList));
|
| + decoder.set_excluded_meta_info_keys(list);
|
| +
|
| + // Decode and check for meta info with exclusion.
|
| + model.reset(DecodeHelper(&decoder, *value, checksum, &checksum, false));
|
| +
|
| + std::string meta_value;
|
| + EXPECT_TRUE(model->root_node()->GetMetaInfo("model_info", &meta_value));
|
| + EXPECT_EQ("value1", meta_value);
|
| + EXPECT_FALSE(model->root_node()->GetMetaInfo("excluded", &meta_value));
|
| + const BookmarkNode* bbn = model->bookmark_bar_node();
|
| + ASSERT_EQ(1, bbn->child_count());
|
| + const BookmarkNode* child = bbn->GetChild(0);
|
| + EXPECT_TRUE(child->GetMetaInfo("node_info", &meta_value));
|
| + EXPECT_EQ("value2", meta_value);
|
| + EXPECT_FALSE(child->GetMetaInfo("not_included", &meta_value));
|
| +}
|
| +
|
| TEST_F(BookmarkCodecTest, EncodeAndDecodeSyncTransactionVersion) {
|
| // Add sync transaction version and encode.
|
| std::unique_ptr<BookmarkModel> model(CreateTestModel2());
|
|
|