OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/prefs/json_pref_store.h" | 7 #include "base/prefs/json_pref_store.h" |
8 #include "base/prefs/mock_pref_change_callback.h" | 8 #include "base/prefs/mock_pref_change_callback.h" |
9 #include "base/prefs/pref_change_registrar.h" | 9 #include "base/prefs/pref_change_registrar.h" |
10 #include "base/prefs/pref_registry_simple.h" | 10 #include "base/prefs/pref_registry_simple.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 // Set a value and make sure we have a path. | 72 // Set a value and make sure we have a path. |
73 prefs.SetString(path, "blah"); | 73 prefs.SetString(path, "blah"); |
74 EXPECT_TRUE(prefs.HasPrefPath(path)); | 74 EXPECT_TRUE(prefs.HasPrefPath(path)); |
75 } | 75 } |
76 | 76 |
77 TEST(PrefServiceTest, Observers) { | 77 TEST(PrefServiceTest, Observers) { |
78 const char pref_name[] = "homepage"; | 78 const char pref_name[] = "homepage"; |
79 | 79 |
80 TestingPrefServiceSimple prefs; | 80 TestingPrefServiceSimple prefs; |
81 prefs.SetUserPref(pref_name, | 81 prefs.SetUserPref(pref_name, |
82 base::Value::CreateStringValue("http://www.cnn.com")); | 82 new base::StringValue("http://www.cnn.com")); |
83 prefs.registry()->RegisterStringPref(pref_name, std::string()); | 83 prefs.registry()->RegisterStringPref(pref_name, std::string()); |
84 | 84 |
85 const char new_pref_value[] = "http://www.google.com/"; | 85 const char new_pref_value[] = "http://www.google.com/"; |
86 const base::StringValue expected_new_pref_value(new_pref_value); | 86 const base::StringValue expected_new_pref_value(new_pref_value); |
87 MockPrefChangeCallback obs(&prefs); | 87 MockPrefChangeCallback obs(&prefs); |
88 PrefChangeRegistrar registrar; | 88 PrefChangeRegistrar registrar; |
89 registrar.Init(&prefs); | 89 registrar.Init(&prefs); |
90 registrar.Add(pref_name, obs.GetCallback()); | 90 registrar.Add(pref_name, obs.GetCallback()); |
91 | 91 |
92 PrefChangeRegistrar registrar_two; | 92 PrefChangeRegistrar registrar_two; |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 | 131 |
132 // Make sure that if a preference changes type, so the wrong type is stored in | 132 // Make sure that if a preference changes type, so the wrong type is stored in |
133 // the user pref file, it uses the correct fallback value instead. | 133 // the user pref file, it uses the correct fallback value instead. |
134 TEST(PrefServiceTest, GetValueChangedType) { | 134 TEST(PrefServiceTest, GetValueChangedType) { |
135 const int kTestValue = 10; | 135 const int kTestValue = 10; |
136 TestingPrefServiceSimple prefs; | 136 TestingPrefServiceSimple prefs; |
137 prefs.registry()->RegisterIntegerPref(kPrefName, kTestValue); | 137 prefs.registry()->RegisterIntegerPref(kPrefName, kTestValue); |
138 | 138 |
139 // Check falling back to a recommended value. | 139 // Check falling back to a recommended value. |
140 prefs.SetUserPref(kPrefName, | 140 prefs.SetUserPref(kPrefName, |
141 base::Value::CreateStringValue("not an integer")); | 141 new base::StringValue("not an integer")); |
142 const PrefService::Preference* pref = prefs.FindPreference(kPrefName); | 142 const PrefService::Preference* pref = prefs.FindPreference(kPrefName); |
143 ASSERT_TRUE(pref); | 143 ASSERT_TRUE(pref); |
144 const base::Value* value = pref->GetValue(); | 144 const base::Value* value = pref->GetValue(); |
145 ASSERT_TRUE(value); | 145 ASSERT_TRUE(value); |
146 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 146 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); |
147 int actual_int_value = -1; | 147 int actual_int_value = -1; |
148 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 148 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
149 EXPECT_EQ(kTestValue, actual_int_value); | 149 EXPECT_EQ(kTestValue, actual_int_value); |
150 } | 150 } |
151 | 151 |
(...skipping 14 matching lines...) Expand all Loading... |
166 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 166 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); |
167 int actual_int_value = -1; | 167 int actual_int_value = -1; |
168 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 168 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
169 EXPECT_EQ(kDefaultValue, actual_int_value); | 169 EXPECT_EQ(kDefaultValue, actual_int_value); |
170 | 170 |
171 // Check that GetRecommendedValue() returns no value. | 171 // Check that GetRecommendedValue() returns no value. |
172 value = pref->GetRecommendedValue(); | 172 value = pref->GetRecommendedValue(); |
173 ASSERT_FALSE(value); | 173 ASSERT_FALSE(value); |
174 | 174 |
175 // Set a user-set value. | 175 // Set a user-set value. |
176 prefs.SetUserPref(kPrefName, base::Value::CreateIntegerValue(kUserValue)); | 176 prefs.SetUserPref(kPrefName, new base::FundamentalValue(kUserValue)); |
177 | 177 |
178 // Check that GetValue() returns the user-set value. | 178 // Check that GetValue() returns the user-set value. |
179 value = pref->GetValue(); | 179 value = pref->GetValue(); |
180 ASSERT_TRUE(value); | 180 ASSERT_TRUE(value); |
181 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 181 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); |
182 actual_int_value = -1; | 182 actual_int_value = -1; |
183 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 183 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
184 EXPECT_EQ(kUserValue, actual_int_value); | 184 EXPECT_EQ(kUserValue, actual_int_value); |
185 | 185 |
186 // Check that GetRecommendedValue() returns no value. | 186 // Check that GetRecommendedValue() returns no value. |
187 value = pref->GetRecommendedValue(); | 187 value = pref->GetRecommendedValue(); |
188 ASSERT_FALSE(value); | 188 ASSERT_FALSE(value); |
189 | 189 |
190 // Set a recommended value. | 190 // Set a recommended value. |
191 prefs.SetRecommendedPref(kPrefName, | 191 prefs.SetRecommendedPref(kPrefName, |
192 base::Value::CreateIntegerValue(kRecommendedValue)); | 192 new base::FundamentalValue(kRecommendedValue)); |
193 | 193 |
194 // Check that GetValue() returns the user-set value. | 194 // Check that GetValue() returns the user-set value. |
195 value = pref->GetValue(); | 195 value = pref->GetValue(); |
196 ASSERT_TRUE(value); | 196 ASSERT_TRUE(value); |
197 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 197 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); |
198 actual_int_value = -1; | 198 actual_int_value = -1; |
199 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 199 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
200 EXPECT_EQ(kUserValue, actual_int_value); | 200 EXPECT_EQ(kUserValue, actual_int_value); |
201 | 201 |
202 // Check that GetRecommendedValue() returns the recommended value. | 202 // Check that GetRecommendedValue() returns the recommended value. |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 prefs_.registry()->RegisterListPref(kName); | 295 prefs_.registry()->RegisterListPref(kName); |
296 PrefChangeRegistrar registrar; | 296 PrefChangeRegistrar registrar; |
297 registrar.Init(&prefs_); | 297 registrar.Init(&prefs_); |
298 registrar.Add(kName, observer_.GetCallback()); | 298 registrar.Add(kName, observer_.GetCallback()); |
299 | 299 |
300 EXPECT_CALL(observer_, OnPreferenceChanged(_)).Times(0); | 300 EXPECT_CALL(observer_, OnPreferenceChanged(_)).Times(0); |
301 prefs_.RemoveUserPref(kName); | 301 prefs_.RemoveUserPref(kName); |
302 Mock::VerifyAndClearExpectations(&observer_); | 302 Mock::VerifyAndClearExpectations(&observer_); |
303 | 303 |
304 base::ListValue new_value; | 304 base::ListValue new_value; |
305 new_value.Append(base::Value::CreateStringValue(kValue)); | 305 new_value.Append(new base::StringValue(kValue)); |
306 observer_.Expect(kName, &new_value); | 306 observer_.Expect(kName, &new_value); |
307 prefs_.Set(kName, new_value); | 307 prefs_.Set(kName, new_value); |
308 Mock::VerifyAndClearExpectations(&observer_); | 308 Mock::VerifyAndClearExpectations(&observer_); |
309 | 309 |
310 EXPECT_CALL(observer_, OnPreferenceChanged(_)).Times(0); | 310 EXPECT_CALL(observer_, OnPreferenceChanged(_)).Times(0); |
311 prefs_.Set(kName, new_value); | 311 prefs_.Set(kName, new_value); |
312 Mock::VerifyAndClearExpectations(&observer_); | 312 Mock::VerifyAndClearExpectations(&observer_); |
313 | 313 |
314 base::ListValue empty; | 314 base::ListValue empty; |
315 observer_.Expect(kName, &empty); | 315 observer_.Expect(kName, &empty); |
316 prefs_.Set(kName, empty); | 316 prefs_.Set(kName, empty); |
317 Mock::VerifyAndClearExpectations(&observer_); | 317 Mock::VerifyAndClearExpectations(&observer_); |
318 } | 318 } |
OLD | NEW |