12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- // Copyright 2020 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 "components/invalidation/public/topic_invalidation_map.h"
- #include <memory>
- #include "testing/gtest/include/gtest/gtest.h"
- namespace invalidation {
- namespace {
- // TODO(crbug.com/1056651): some methods aren't covered by tests, it's likely
- // worth adding them (especially for ToValue(), which is passed to js code).
- class TopicInvalidationMapTest : public testing::Test {
- public:
- TopicInvalidationMapTest()
- : kTopicOne("one"),
- kTopicTwo("two"),
- kInv1(Invalidation::Init(kTopicOne, 10, "ten")) {
- set1_.insert(kTopicOne);
- set2_.insert(kTopicTwo);
- all_set_.insert(kTopicOne);
- all_set_.insert(kTopicTwo);
- one_invalidation_.Insert(kInv1);
- invalidate_all_.Insert(Invalidation::InitUnknownVersion(kTopicOne));
- invalidate_all_.Insert(Invalidation::InitUnknownVersion(kTopicTwo));
- }
- ~TopicInvalidationMapTest() override = default;
- protected:
- const Topic kTopicOne;
- const Topic kTopicTwo;
- const Invalidation kInv1;
- TopicSet set1_;
- TopicSet set2_;
- TopicSet all_set_;
- TopicInvalidationMap empty_;
- TopicInvalidationMap one_invalidation_;
- TopicInvalidationMap invalidate_all_;
- };
- TEST_F(TopicInvalidationMapTest, Empty) {
- EXPECT_TRUE(empty_.Empty());
- EXPECT_FALSE(one_invalidation_.Empty());
- EXPECT_FALSE(invalidate_all_.Empty());
- }
- TEST_F(TopicInvalidationMapTest, Equality) {
- // TODO(crbug.com/1056651): equality operator is only used in tests, so maybe
- // factor it away from the TopicInvalidationMap.
- TopicInvalidationMap empty2;
- EXPECT_EQ(empty_, empty2);
- TopicInvalidationMap one_invalidation_2;
- one_invalidation_2.Insert(kInv1);
- EXPECT_EQ(one_invalidation_, one_invalidation_2);
- EXPECT_FALSE(empty_ == invalidate_all_);
- }
- TEST_F(TopicInvalidationMapTest, GetTopics) {
- EXPECT_EQ(TopicSet(), empty_.GetTopics());
- EXPECT_EQ(set1_, one_invalidation_.GetTopics());
- EXPECT_EQ(all_set_, invalidate_all_.GetTopics());
- }
- TEST_F(TopicInvalidationMapTest, GetSubsetWithTopics) {
- EXPECT_TRUE(empty_.GetSubsetWithTopics(set1_).Empty());
- EXPECT_EQ(one_invalidation_.GetSubsetWithTopics(set1_), one_invalidation_);
- EXPECT_EQ(one_invalidation_.GetSubsetWithTopics(all_set_), one_invalidation_);
- EXPECT_TRUE(one_invalidation_.GetSubsetWithTopics(set2_).Empty());
- EXPECT_TRUE(invalidate_all_.GetSubsetWithTopics(TopicSet()).Empty());
- }
- } // namespace
- } // namespace invalidation
|