OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/prefs/pref_value_map.h" | 5 #include "base/prefs/pref_value_map.h" |
| 6 |
6 #include "base/values.h" | 7 #include "base/values.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
8 | 9 |
9 class PrefValueMapTest : public testing::Test { | 10 TEST(PrefValueMapTest, SetValue) { |
10 }; | |
11 | |
12 TEST_F(PrefValueMapTest, SetValue) { | |
13 PrefValueMap map; | 11 PrefValueMap map; |
14 const Value* result = NULL; | 12 const Value* result = NULL; |
15 EXPECT_FALSE(map.GetValue("key", &result)); | 13 EXPECT_FALSE(map.GetValue("key", &result)); |
16 EXPECT_FALSE(result); | 14 EXPECT_FALSE(result); |
17 | 15 |
18 EXPECT_TRUE(map.SetValue("key", Value::CreateStringValue("test"))); | 16 EXPECT_TRUE(map.SetValue("key", Value::CreateStringValue("test"))); |
19 EXPECT_FALSE(map.SetValue("key", Value::CreateStringValue("test"))); | 17 EXPECT_FALSE(map.SetValue("key", Value::CreateStringValue("test"))); |
20 EXPECT_TRUE(map.SetValue("key", Value::CreateStringValue("hi mom!"))); | 18 EXPECT_TRUE(map.SetValue("key", Value::CreateStringValue("hi mom!"))); |
21 | 19 |
22 EXPECT_TRUE(map.GetValue("key", &result)); | 20 EXPECT_TRUE(map.GetValue("key", &result)); |
23 EXPECT_TRUE(StringValue("hi mom!").Equals(result)); | 21 EXPECT_TRUE(StringValue("hi mom!").Equals(result)); |
24 } | 22 } |
25 | 23 |
26 TEST_F(PrefValueMapTest, GetAndSetIntegerValue) { | 24 TEST(PrefValueMapTest, GetAndSetIntegerValue) { |
27 PrefValueMap map; | 25 PrefValueMap map; |
28 ASSERT_TRUE(map.SetValue("key", Value::CreateIntegerValue(5))); | 26 ASSERT_TRUE(map.SetValue("key", Value::CreateIntegerValue(5))); |
29 | 27 |
30 int int_value = 0; | 28 int int_value = 0; |
31 EXPECT_TRUE(map.GetInteger("key", &int_value)); | 29 EXPECT_TRUE(map.GetInteger("key", &int_value)); |
32 EXPECT_EQ(5, int_value); | 30 EXPECT_EQ(5, int_value); |
33 | 31 |
34 map.SetInteger("key", -14); | 32 map.SetInteger("key", -14); |
35 EXPECT_TRUE(map.GetInteger("key", &int_value)); | 33 EXPECT_TRUE(map.GetInteger("key", &int_value)); |
36 EXPECT_EQ(-14, int_value); | 34 EXPECT_EQ(-14, int_value); |
37 } | 35 } |
38 | 36 |
39 TEST_F(PrefValueMapTest, RemoveValue) { | 37 TEST(PrefValueMapTest, RemoveValue) { |
40 PrefValueMap map; | 38 PrefValueMap map; |
41 EXPECT_FALSE(map.RemoveValue("key")); | 39 EXPECT_FALSE(map.RemoveValue("key")); |
42 | 40 |
43 EXPECT_TRUE(map.SetValue("key", Value::CreateStringValue("test"))); | 41 EXPECT_TRUE(map.SetValue("key", Value::CreateStringValue("test"))); |
44 EXPECT_TRUE(map.GetValue("key", NULL)); | 42 EXPECT_TRUE(map.GetValue("key", NULL)); |
45 | 43 |
46 EXPECT_TRUE(map.RemoveValue("key")); | 44 EXPECT_TRUE(map.RemoveValue("key")); |
47 EXPECT_FALSE(map.GetValue("key", NULL)); | 45 EXPECT_FALSE(map.GetValue("key", NULL)); |
48 | 46 |
49 EXPECT_FALSE(map.RemoveValue("key")); | 47 EXPECT_FALSE(map.RemoveValue("key")); |
50 } | 48 } |
51 | 49 |
52 TEST_F(PrefValueMapTest, Clear) { | 50 TEST(PrefValueMapTest, Clear) { |
53 PrefValueMap map; | 51 PrefValueMap map; |
54 EXPECT_TRUE(map.SetValue("key", Value::CreateStringValue("test"))); | 52 EXPECT_TRUE(map.SetValue("key", Value::CreateStringValue("test"))); |
55 EXPECT_TRUE(map.GetValue("key", NULL)); | 53 EXPECT_TRUE(map.GetValue("key", NULL)); |
56 | 54 |
57 map.Clear(); | 55 map.Clear(); |
58 | 56 |
59 EXPECT_FALSE(map.GetValue("key", NULL)); | 57 EXPECT_FALSE(map.GetValue("key", NULL)); |
60 } | 58 } |
61 | 59 |
62 TEST_F(PrefValueMapTest, GetDifferingKeys) { | 60 TEST(PrefValueMapTest, GetDifferingKeys) { |
63 PrefValueMap reference; | 61 PrefValueMap reference; |
64 EXPECT_TRUE(reference.SetValue("b", Value::CreateStringValue("test"))); | 62 EXPECT_TRUE(reference.SetValue("b", Value::CreateStringValue("test"))); |
65 EXPECT_TRUE(reference.SetValue("c", Value::CreateStringValue("test"))); | 63 EXPECT_TRUE(reference.SetValue("c", Value::CreateStringValue("test"))); |
66 EXPECT_TRUE(reference.SetValue("e", Value::CreateStringValue("test"))); | 64 EXPECT_TRUE(reference.SetValue("e", Value::CreateStringValue("test"))); |
67 | 65 |
68 PrefValueMap check; | 66 PrefValueMap check; |
69 std::vector<std::string> differing_paths; | 67 std::vector<std::string> differing_paths; |
70 std::vector<std::string> expected_differing_paths; | 68 std::vector<std::string> expected_differing_paths; |
71 | 69 |
72 reference.GetDifferingKeys(&check, &differing_paths); | 70 reference.GetDifferingKeys(&check, &differing_paths); |
73 expected_differing_paths.push_back("b"); | 71 expected_differing_paths.push_back("b"); |
74 expected_differing_paths.push_back("c"); | 72 expected_differing_paths.push_back("c"); |
75 expected_differing_paths.push_back("e"); | 73 expected_differing_paths.push_back("e"); |
76 EXPECT_EQ(expected_differing_paths, differing_paths); | 74 EXPECT_EQ(expected_differing_paths, differing_paths); |
77 | 75 |
78 EXPECT_TRUE(check.SetValue("a", Value::CreateStringValue("test"))); | 76 EXPECT_TRUE(check.SetValue("a", Value::CreateStringValue("test"))); |
79 EXPECT_TRUE(check.SetValue("c", Value::CreateStringValue("test"))); | 77 EXPECT_TRUE(check.SetValue("c", Value::CreateStringValue("test"))); |
80 EXPECT_TRUE(check.SetValue("d", Value::CreateStringValue("test"))); | 78 EXPECT_TRUE(check.SetValue("d", Value::CreateStringValue("test"))); |
81 | 79 |
82 reference.GetDifferingKeys(&check, &differing_paths); | 80 reference.GetDifferingKeys(&check, &differing_paths); |
83 expected_differing_paths.clear(); | 81 expected_differing_paths.clear(); |
84 expected_differing_paths.push_back("a"); | 82 expected_differing_paths.push_back("a"); |
85 expected_differing_paths.push_back("b"); | 83 expected_differing_paths.push_back("b"); |
86 expected_differing_paths.push_back("d"); | 84 expected_differing_paths.push_back("d"); |
87 expected_differing_paths.push_back("e"); | 85 expected_differing_paths.push_back("e"); |
88 EXPECT_EQ(expected_differing_paths, differing_paths); | 86 EXPECT_EQ(expected_differing_paths, differing_paths); |
89 } | 87 } |
90 | 88 |
91 TEST_F(PrefValueMapTest, SwapTwoMaps) { | 89 TEST(PrefValueMapTest, SwapTwoMaps) { |
92 PrefValueMap first_map; | 90 PrefValueMap first_map; |
93 EXPECT_TRUE(first_map.SetValue("a", Value::CreateStringValue("test"))); | 91 EXPECT_TRUE(first_map.SetValue("a", Value::CreateStringValue("test"))); |
94 EXPECT_TRUE(first_map.SetValue("b", Value::CreateStringValue("test"))); | 92 EXPECT_TRUE(first_map.SetValue("b", Value::CreateStringValue("test"))); |
95 EXPECT_TRUE(first_map.SetValue("c", Value::CreateStringValue("test"))); | 93 EXPECT_TRUE(first_map.SetValue("c", Value::CreateStringValue("test"))); |
96 | 94 |
97 PrefValueMap second_map; | 95 PrefValueMap second_map; |
98 EXPECT_TRUE(second_map.SetValue("d", Value::CreateStringValue("test"))); | 96 EXPECT_TRUE(second_map.SetValue("d", Value::CreateStringValue("test"))); |
99 EXPECT_TRUE(second_map.SetValue("e", Value::CreateStringValue("test"))); | 97 EXPECT_TRUE(second_map.SetValue("e", Value::CreateStringValue("test"))); |
100 EXPECT_TRUE(second_map.SetValue("f", Value::CreateStringValue("test"))); | 98 EXPECT_TRUE(second_map.SetValue("f", Value::CreateStringValue("test"))); |
101 | 99 |
102 first_map.Swap(&second_map); | 100 first_map.Swap(&second_map); |
103 | 101 |
104 EXPECT_TRUE(first_map.GetValue("d", NULL)); | 102 EXPECT_TRUE(first_map.GetValue("d", NULL)); |
105 EXPECT_TRUE(first_map.GetValue("e", NULL)); | 103 EXPECT_TRUE(first_map.GetValue("e", NULL)); |
106 EXPECT_TRUE(first_map.GetValue("f", NULL)); | 104 EXPECT_TRUE(first_map.GetValue("f", NULL)); |
107 | 105 |
108 EXPECT_TRUE(second_map.GetValue("a", NULL)); | 106 EXPECT_TRUE(second_map.GetValue("a", NULL)); |
109 EXPECT_TRUE(second_map.GetValue("b", NULL)); | 107 EXPECT_TRUE(second_map.GetValue("b", NULL)); |
110 EXPECT_TRUE(second_map.GetValue("c", NULL)); | 108 EXPECT_TRUE(second_map.GetValue("c", NULL)); |
111 } | 109 } |
OLD | NEW |