| Index: sync/notifier/object_id_invalidation_map_unittest.cc
|
| diff --git a/sync/notifier/object_id_invalidation_map_unittest.cc b/sync/notifier/object_id_invalidation_map_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ac42365f0bb9b2587ae49705a1700cd7476f9263
|
| --- /dev/null
|
| +++ b/sync/notifier/object_id_invalidation_map_unittest.cc
|
| @@ -0,0 +1,104 @@
|
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "sync/notifier/object_id_invalidation_map.h"
|
| +
|
| +#include "google/cacheinvalidation/types.pb.h"
|
| +
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace syncer {
|
| +
|
| +namespace {
|
| +
|
| +class ObjectIdInvalidationMapTest : public testing::Test {
|
| + public:
|
| + ObjectIdInvalidationMapTest()
|
| + : kIdOne(ipc::invalidation::ObjectSource::TEST, "one"),
|
| + kIdTwo(ipc::invalidation::ObjectSource::TEST, "two"),
|
| + kInv1(Invalidation::Init(kIdOne, 10, "ten")) {
|
| + set1.insert(kIdOne);
|
| + set2.insert(kIdTwo);
|
| + all_set.insert(kIdOne);
|
| + all_set.insert(kIdTwo);
|
| +
|
| + one_invalidation.Insert(kInv1);
|
| + invalidate_all = ObjectIdInvalidationMap::InvalidateAll(all_set);
|
| + }
|
| +
|
| + protected:
|
| + const invalidation::ObjectId kIdOne;
|
| + const invalidation::ObjectId kIdTwo;
|
| + const Invalidation kInv1;
|
| +
|
| + ObjectIdSet set1;
|
| + ObjectIdSet set2;
|
| + ObjectIdSet all_set;
|
| + ObjectIdInvalidationMap empty;
|
| + ObjectIdInvalidationMap one_invalidation;
|
| + ObjectIdInvalidationMap invalidate_all;
|
| +};
|
| +
|
| +TEST_F(ObjectIdInvalidationMapTest, Empty) {
|
| + EXPECT_TRUE(empty.Empty());
|
| + EXPECT_FALSE(one_invalidation.Empty());
|
| + EXPECT_FALSE(invalidate_all.Empty());
|
| +}
|
| +
|
| +TEST_F(ObjectIdInvalidationMapTest, Equality) {
|
| + ObjectIdInvalidationMap empty2;
|
| + EXPECT_TRUE(empty == empty2);
|
| +
|
| + ObjectIdInvalidationMap one_invalidation2;
|
| + one_invalidation2.Insert(kInv1);
|
| + EXPECT_TRUE(one_invalidation == one_invalidation2);
|
| +
|
| + EXPECT_FALSE(empty == invalidate_all);
|
| +}
|
| +
|
| +TEST_F(ObjectIdInvalidationMapTest, GetObjectIds) {
|
| + EXPECT_EQ(ObjectIdSet(), empty.GetObjectIds());
|
| + EXPECT_EQ(set1, one_invalidation.GetObjectIds());
|
| + EXPECT_EQ(all_set, invalidate_all.GetObjectIds());
|
| +}
|
| +
|
| +TEST_F(ObjectIdInvalidationMapTest, GetSubsetWithObjectIds) {
|
| + EXPECT_TRUE(empty.GetSubsetWithObjectIds(set1).Empty());
|
| +
|
| + EXPECT_TRUE(one_invalidation.GetSubsetWithObjectIds(set1) ==
|
| + one_invalidation);
|
| + EXPECT_TRUE(one_invalidation.GetSubsetWithObjectIds(all_set) ==
|
| + one_invalidation);
|
| + EXPECT_TRUE(one_invalidation.GetSubsetWithObjectIds(set2).Empty());
|
| +
|
| + EXPECT_TRUE(invalidate_all.GetSubsetWithObjectIds(ObjectIdSet()).Empty());
|
| +}
|
| +
|
| +TEST_F(ObjectIdInvalidationMapTest, SerializeEmpty) {
|
| + scoped_ptr<base::ListValue> value = empty.ToValue();
|
| + ASSERT_TRUE(value.get());
|
| + ObjectIdInvalidationMap deserialized;
|
| + deserialized.ResetFromValue(*value.get());
|
| + EXPECT_TRUE(empty == deserialized);
|
| +}
|
| +
|
| +TEST_F(ObjectIdInvalidationMapTest, SerializeOneInvalidation) {
|
| + scoped_ptr<base::ListValue> value = one_invalidation.ToValue();
|
| + ASSERT_TRUE(value.get());
|
| + ObjectIdInvalidationMap deserialized;
|
| + deserialized.ResetFromValue(*value.get());
|
| + EXPECT_TRUE(one_invalidation == deserialized);
|
| +}
|
| +
|
| +TEST_F(ObjectIdInvalidationMapTest, SerializeInvalidateAll) {
|
| + scoped_ptr<base::ListValue> value = invalidate_all.ToValue();
|
| + ASSERT_TRUE(value.get());
|
| + ObjectIdInvalidationMap deserialized;
|
| + deserialized.ResetFromValue(*value.get());
|
| + EXPECT_TRUE(invalidate_all == deserialized);
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +} // namespace syncer
|
|
|