| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 TestingPrefServiceSimple prefs; | 141 TestingPrefServiceSimple prefs; |
| 142 prefs.registry()->RegisterIntegerPref(kPrefName, kTestValue); | 142 prefs.registry()->RegisterIntegerPref(kPrefName, kTestValue); |
| 143 | 143 |
| 144 // Check falling back to a recommended value. | 144 // Check falling back to a recommended value. |
| 145 prefs.SetUserPref(kPrefName, | 145 prefs.SetUserPref(kPrefName, |
| 146 new base::StringValue("not an integer")); | 146 new base::StringValue("not an integer")); |
| 147 const PrefService::Preference* pref = prefs.FindPreference(kPrefName); | 147 const PrefService::Preference* pref = prefs.FindPreference(kPrefName); |
| 148 ASSERT_TRUE(pref); | 148 ASSERT_TRUE(pref); |
| 149 const base::Value* value = pref->GetValue(); | 149 const base::Value* value = pref->GetValue(); |
| 150 ASSERT_TRUE(value); | 150 ASSERT_TRUE(value); |
| 151 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 151 EXPECT_EQ(base::Value::Type::INTEGER, value->GetType()); |
| 152 int actual_int_value = -1; | 152 int actual_int_value = -1; |
| 153 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 153 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
| 154 EXPECT_EQ(kTestValue, actual_int_value); | 154 EXPECT_EQ(kTestValue, actual_int_value); |
| 155 } | 155 } |
| 156 | 156 |
| 157 TEST(PrefServiceTest, GetValueAndGetRecommendedValue) { | 157 TEST(PrefServiceTest, GetValueAndGetRecommendedValue) { |
| 158 const int kDefaultValue = 5; | 158 const int kDefaultValue = 5; |
| 159 const int kUserValue = 10; | 159 const int kUserValue = 10; |
| 160 const int kRecommendedValue = 15; | 160 const int kRecommendedValue = 15; |
| 161 TestingPrefServiceSimple prefs; | 161 TestingPrefServiceSimple prefs; |
| 162 prefs.registry()->RegisterIntegerPref(kPrefName, kDefaultValue); | 162 prefs.registry()->RegisterIntegerPref(kPrefName, kDefaultValue); |
| 163 | 163 |
| 164 // Create pref with a default value only. | 164 // Create pref with a default value only. |
| 165 const PrefService::Preference* pref = prefs.FindPreference(kPrefName); | 165 const PrefService::Preference* pref = prefs.FindPreference(kPrefName); |
| 166 ASSERT_TRUE(pref); | 166 ASSERT_TRUE(pref); |
| 167 | 167 |
| 168 // Check that GetValue() returns the default value. | 168 // Check that GetValue() returns the default value. |
| 169 const base::Value* value = pref->GetValue(); | 169 const base::Value* value = pref->GetValue(); |
| 170 ASSERT_TRUE(value); | 170 ASSERT_TRUE(value); |
| 171 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 171 EXPECT_EQ(base::Value::Type::INTEGER, value->GetType()); |
| 172 int actual_int_value = -1; | 172 int actual_int_value = -1; |
| 173 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 173 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
| 174 EXPECT_EQ(kDefaultValue, actual_int_value); | 174 EXPECT_EQ(kDefaultValue, actual_int_value); |
| 175 | 175 |
| 176 // Check that GetRecommendedValue() returns no value. | 176 // Check that GetRecommendedValue() returns no value. |
| 177 value = pref->GetRecommendedValue(); | 177 value = pref->GetRecommendedValue(); |
| 178 ASSERT_FALSE(value); | 178 ASSERT_FALSE(value); |
| 179 | 179 |
| 180 // Set a user-set value. | 180 // Set a user-set value. |
| 181 prefs.SetUserPref(kPrefName, new base::FundamentalValue(kUserValue)); | 181 prefs.SetUserPref(kPrefName, new base::FundamentalValue(kUserValue)); |
| 182 | 182 |
| 183 // Check that GetValue() returns the user-set value. | 183 // Check that GetValue() returns the user-set value. |
| 184 value = pref->GetValue(); | 184 value = pref->GetValue(); |
| 185 ASSERT_TRUE(value); | 185 ASSERT_TRUE(value); |
| 186 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 186 EXPECT_EQ(base::Value::Type::INTEGER, value->GetType()); |
| 187 actual_int_value = -1; | 187 actual_int_value = -1; |
| 188 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 188 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
| 189 EXPECT_EQ(kUserValue, actual_int_value); | 189 EXPECT_EQ(kUserValue, actual_int_value); |
| 190 | 190 |
| 191 // Check that GetRecommendedValue() returns no value. | 191 // Check that GetRecommendedValue() returns no value. |
| 192 value = pref->GetRecommendedValue(); | 192 value = pref->GetRecommendedValue(); |
| 193 ASSERT_FALSE(value); | 193 ASSERT_FALSE(value); |
| 194 | 194 |
| 195 // Set a recommended value. | 195 // Set a recommended value. |
| 196 prefs.SetRecommendedPref(kPrefName, | 196 prefs.SetRecommendedPref(kPrefName, |
| 197 new base::FundamentalValue(kRecommendedValue)); | 197 new base::FundamentalValue(kRecommendedValue)); |
| 198 | 198 |
| 199 // Check that GetValue() returns the user-set value. | 199 // Check that GetValue() returns the user-set value. |
| 200 value = pref->GetValue(); | 200 value = pref->GetValue(); |
| 201 ASSERT_TRUE(value); | 201 ASSERT_TRUE(value); |
| 202 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 202 EXPECT_EQ(base::Value::Type::INTEGER, value->GetType()); |
| 203 actual_int_value = -1; | 203 actual_int_value = -1; |
| 204 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 204 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
| 205 EXPECT_EQ(kUserValue, actual_int_value); | 205 EXPECT_EQ(kUserValue, actual_int_value); |
| 206 | 206 |
| 207 // Check that GetRecommendedValue() returns the recommended value. | 207 // Check that GetRecommendedValue() returns the recommended value. |
| 208 value = pref->GetRecommendedValue(); | 208 value = pref->GetRecommendedValue(); |
| 209 ASSERT_TRUE(value); | 209 ASSERT_TRUE(value); |
| 210 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 210 EXPECT_EQ(base::Value::Type::INTEGER, value->GetType()); |
| 211 actual_int_value = -1; | 211 actual_int_value = -1; |
| 212 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 212 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
| 213 EXPECT_EQ(kRecommendedValue, actual_int_value); | 213 EXPECT_EQ(kRecommendedValue, actual_int_value); |
| 214 | 214 |
| 215 // Remove the user-set value. | 215 // Remove the user-set value. |
| 216 prefs.RemoveUserPref(kPrefName); | 216 prefs.RemoveUserPref(kPrefName); |
| 217 | 217 |
| 218 // Check that GetValue() returns the recommended value. | 218 // Check that GetValue() returns the recommended value. |
| 219 value = pref->GetValue(); | 219 value = pref->GetValue(); |
| 220 ASSERT_TRUE(value); | 220 ASSERT_TRUE(value); |
| 221 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 221 EXPECT_EQ(base::Value::Type::INTEGER, value->GetType()); |
| 222 actual_int_value = -1; | 222 actual_int_value = -1; |
| 223 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 223 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
| 224 EXPECT_EQ(kRecommendedValue, actual_int_value); | 224 EXPECT_EQ(kRecommendedValue, actual_int_value); |
| 225 | 225 |
| 226 // Check that GetRecommendedValue() returns the recommended value. | 226 // Check that GetRecommendedValue() returns the recommended value. |
| 227 value = pref->GetRecommendedValue(); | 227 value = pref->GetRecommendedValue(); |
| 228 ASSERT_TRUE(value); | 228 ASSERT_TRUE(value); |
| 229 EXPECT_EQ(base::Value::TYPE_INTEGER, value->GetType()); | 229 EXPECT_EQ(base::Value::Type::INTEGER, value->GetType()); |
| 230 actual_int_value = -1; | 230 actual_int_value = -1; |
| 231 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 231 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); |
| 232 EXPECT_EQ(kRecommendedValue, actual_int_value); | 232 EXPECT_EQ(kRecommendedValue, actual_int_value); |
| 233 } | 233 } |
| 234 | 234 |
| 235 // A PrefStore which just stores the last write flags that were used to write | 235 // A PrefStore which just stores the last write flags that were used to write |
| 236 // values to it. | 236 // values to it. |
| 237 class WriteFlagChecker : public TestingPrefStore { | 237 class WriteFlagChecker : public TestingPrefStore { |
| 238 public: | 238 public: |
| 239 WriteFlagChecker() {} | 239 WriteFlagChecker() {} |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 WriteablePrefStore::LOSSY_PREF_WRITE_FLAG}}; | 314 WriteablePrefStore::LOSSY_PREF_WRITE_FLAG}}; |
| 315 | 315 |
| 316 for (size_t i = 0; i < arraysize(kRegistrationToWriteFlags); ++i) { | 316 for (size_t i = 0; i < arraysize(kRegistrationToWriteFlags); ++i) { |
| 317 RegistrationToWriteFlags entry = kRegistrationToWriteFlags[i]; | 317 RegistrationToWriteFlags entry = kRegistrationToWriteFlags[i]; |
| 318 registry->RegisterDictionaryPref( | 318 registry->RegisterDictionaryPref( |
| 319 entry.pref_name, new base::DictionaryValue(), entry.registration_flags); | 319 entry.pref_name, new base::DictionaryValue(), entry.registration_flags); |
| 320 | 320 |
| 321 SCOPED_TRACE("Currently testing pref with name: " + | 321 SCOPED_TRACE("Currently testing pref with name: " + |
| 322 std::string(entry.pref_name)); | 322 std::string(entry.pref_name)); |
| 323 | 323 |
| 324 prefs->GetMutableUserPref(entry.pref_name, base::Value::TYPE_DICTIONARY); | 324 prefs->GetMutableUserPref(entry.pref_name, base::Value::Type::DICTIONARY); |
| 325 EXPECT_TRUE(flag_checker->last_write_flags_set()); | 325 EXPECT_TRUE(flag_checker->last_write_flags_set()); |
| 326 EXPECT_EQ(entry.write_flags, flag_checker->GetLastFlagsAndClear()); | 326 EXPECT_EQ(entry.write_flags, flag_checker->GetLastFlagsAndClear()); |
| 327 | 327 |
| 328 prefs->ReportUserPrefChanged(entry.pref_name); | 328 prefs->ReportUserPrefChanged(entry.pref_name); |
| 329 EXPECT_TRUE(flag_checker->last_write_flags_set()); | 329 EXPECT_TRUE(flag_checker->last_write_flags_set()); |
| 330 EXPECT_EQ(entry.write_flags, flag_checker->GetLastFlagsAndClear()); | 330 EXPECT_EQ(entry.write_flags, flag_checker->GetLastFlagsAndClear()); |
| 331 | 331 |
| 332 prefs->ClearPref(entry.pref_name); | 332 prefs->ClearPref(entry.pref_name); |
| 333 EXPECT_TRUE(flag_checker->last_write_flags_set()); | 333 EXPECT_TRUE(flag_checker->last_write_flags_set()); |
| 334 EXPECT_EQ(entry.write_flags, flag_checker->GetLastFlagsAndClear()); | 334 EXPECT_EQ(entry.write_flags, flag_checker->GetLastFlagsAndClear()); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 | 421 |
| 422 EXPECT_CALL(observer_, OnPreferenceChanged(_)).Times(0); | 422 EXPECT_CALL(observer_, OnPreferenceChanged(_)).Times(0); |
| 423 prefs_.Set(kName, new_value); | 423 prefs_.Set(kName, new_value); |
| 424 Mock::VerifyAndClearExpectations(&observer_); | 424 Mock::VerifyAndClearExpectations(&observer_); |
| 425 | 425 |
| 426 base::ListValue empty; | 426 base::ListValue empty; |
| 427 observer_.Expect(kName, &empty); | 427 observer_.Expect(kName, &empty); |
| 428 prefs_.Set(kName, empty); | 428 prefs_.Set(kName, empty); |
| 429 Mock::VerifyAndClearExpectations(&observer_); | 429 Mock::VerifyAndClearExpectations(&observer_); |
| 430 } | 430 } |
| OLD | NEW |