Fix emulator build error
[platform/framework/web/chromium-efl.git] / components / browsing_topics / topic_and_domains_unittest.cc
1 // Copyright 2022 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/browsing_topics/topic_and_domains.h"
6
7 #include "testing/gtest/include/gtest/gtest.h"
8
9 namespace browsing_topics {
10
11 class TopicAndDomainsTest : public testing::Test {};
12
13 TEST_F(TopicAndDomainsTest, FromEmptyDictionaryValue) {
14   TopicAndDomains read_topic_and_domains =
15       TopicAndDomains::FromDictValue(base::Value::Dict());
16
17   EXPECT_FALSE(read_topic_and_domains.IsValid());
18   EXPECT_EQ(read_topic_and_domains.topic(), Topic(0));
19   EXPECT_TRUE(read_topic_and_domains.hashed_domains().empty());
20 }
21
22 TEST_F(TopicAndDomainsTest, EmptyTopicAndDomains_ToAndFromDictValue) {
23   TopicAndDomains topic_and_domains;
24
25   base::Value::Dict dict_value = topic_and_domains.ToDictValue();
26   TopicAndDomains read_topic_and_domains =
27       TopicAndDomains::FromDictValue(dict_value);
28
29   EXPECT_FALSE(read_topic_and_domains.IsValid());
30   EXPECT_EQ(read_topic_and_domains.topic(), Topic(0));
31   EXPECT_TRUE(read_topic_and_domains.hashed_domains().empty());
32 }
33
34 TEST_F(TopicAndDomainsTest, PopulatedTopicAndDomains_ToAndFromValue) {
35   TopicAndDomains topic_and_domains(
36       Topic(2),
37       /*hashed_domains=*/{HashedDomain(123), HashedDomain(456)});
38
39   base::Value::Dict dict_value = topic_and_domains.ToDictValue();
40   TopicAndDomains read_topic_and_domains =
41       TopicAndDomains::FromDictValue(dict_value);
42
43   EXPECT_TRUE(read_topic_and_domains.IsValid());
44   EXPECT_EQ(read_topic_and_domains.topic(), Topic(2));
45   EXPECT_EQ(read_topic_and_domains.hashed_domains(),
46             std::set({HashedDomain(123), HashedDomain(456)}));
47 }
48
49 TEST_F(TopicAndDomainsTest, ClearDomain) {
50   TopicAndDomains topic_and_domains(
51       Topic(2),
52       /*hashed_domains=*/{HashedDomain(123), HashedDomain(456)});
53
54   topic_and_domains.ClearDomain(HashedDomain(123));
55
56   EXPECT_EQ(topic_and_domains.topic(), Topic(2));
57   EXPECT_EQ(topic_and_domains.hashed_domains().size(), 1u);
58   EXPECT_EQ(*topic_and_domains.hashed_domains().begin(), HashedDomain(456));
59 }
60
61 }  // namespace browsing_topics