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 <set> | 5 #include <set> |
6 #include <string> | 6 #include <string> |
7 | 7 |
8 #include "base/scoped_ptr.h" | 8 #include "base/scoped_ptr.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "chrome/browser/browser_thread.h" | 10 #include "chrome/browser/browser_thread.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 | 26 |
27 // Allows to capture pref notifications through gmock. | 27 // Allows to capture pref notifications through gmock. |
28 class MockPrefNotifier : public PrefNotifier { | 28 class MockPrefNotifier : public PrefNotifier { |
29 public: | 29 public: |
30 MOCK_METHOD1(OnPreferenceChanged, void(const std::string&)); | 30 MOCK_METHOD1(OnPreferenceChanged, void(const std::string&)); |
31 MOCK_METHOD0(OnInitializationCompleted, void()); | 31 MOCK_METHOD0(OnInitializationCompleted, void()); |
32 }; | 32 }; |
33 | 33 |
34 } // namespace | 34 } // namespace |
35 | 35 |
36 // Names of the preferences used in this test program. | 36 // Names of the preferences used in this test. |
37 namespace prefs { | 37 namespace prefs { |
| 38 const char kManagedPlatformPref[] = "this.pref.managed_platform"; |
| 39 const char kManagedCloudPref[] = "this.pref.managed_cloud"; |
| 40 const char kCommandLinePref[] = "this.pref.command_line"; |
| 41 const char kExtensionPref[] = "this.pref.extension"; |
| 42 const char kUserPref[] = "this.pref.user"; |
| 43 const char kRecommendedPlatformPref[] = "this.pref.recommended_platform"; |
| 44 const char kRecommendedCloudPref[] = "this.pref.recommended_cloud"; |
| 45 const char kDefaultPref[] = "this.pref.default"; |
38 const char kMissingPref[] = "this.pref.does_not_exist"; | 46 const char kMissingPref[] = "this.pref.does_not_exist"; |
39 const char kRecommendedPref[] = "this.pref.recommended_value_only"; | |
40 const char kSampleDict[] = "sample.dict"; | |
41 const char kSampleList[] = "sample.list"; | |
42 const char kDefaultPref[] = "default.pref"; | |
43 } | 47 } |
44 | 48 |
45 // Potentially expected values of all preferences used in this test program. | 49 // Potentially expected values of all preferences used in this test program. |
46 namespace managed_platform_pref { | 50 namespace managed_platform_pref { |
47 const std::string kHomepageValue = "http://www.topeka.com"; | 51 const char kManagedPlatformValue[] = "managed_platform:managed_platform"; |
48 } | 52 } |
49 | 53 |
50 namespace device_management_pref { | 54 namespace managed_cloud_pref { |
51 const std::string kSearchProviderNameValue = "Chromium"; | 55 const char kManagedPlatformValue[] = "managed_cloud:managed_platform"; |
52 const char kHomepageValue[] = "http://www.wandering-around.org"; | 56 const char kManagedCloudValue[] = "managed_cloud:managed_cloud"; |
53 } | 57 } |
54 | 58 |
55 namespace extension_pref { | 59 namespace extension_pref { |
56 const char kCurrentThemeIDValue[] = "set by extension"; | 60 const char kManagedPlatformValue[] = "extension:managed_platform"; |
57 const char kHomepageValue[] = "http://www.chromium.org"; | 61 const char kManagedCloudValue[] = "extension:managed_cloud"; |
58 const std::string kSearchProviderNameValue = "AreYouFeelingALittleLucky"; | 62 const char kExtensionValue[] = "extension:extension"; |
59 } | 63 } |
60 | 64 |
61 namespace command_line_pref { | 65 namespace command_line_pref { |
62 const char kApplicationLocaleValue[] = "hi-MOM"; | 66 const char kManagedPlatformValue[] = "command_line:managed_platform"; |
63 const char kCurrentThemeIDValue[] = "zyxwvut"; | 67 const char kManagedCloudValue[] = "command_line:managed_cloud"; |
64 const char kHomepageValue[] = "http://www.ferretcentral.org"; | 68 const char kExtensionValue[] = "command_line:extension"; |
65 const std::string kSearchProviderNameValue = "AreYouFeelingPrettyLucky"; | 69 const char kCommandLineValue[] = "command_line:command_line"; |
66 } | 70 } |
67 | 71 |
68 // The "user" namespace is defined globally in an ARM system header, so we need | |
69 // something different here. | |
70 namespace user_pref { | 72 namespace user_pref { |
71 const int kStabilityLaunchCountValue = 31; | 73 const char kManagedPlatformValue[] = "user:managed_platform"; |
72 const bool kDeleteCacheValue = true; | 74 const char kManagedCloudValue[] = "user:managed_cloud"; |
73 const char kCurrentThemeIDValue[] = "abcdefg"; | 75 const char kExtensionValue[] = "user:extension"; |
74 const char kHomepageValue[] = "http://www.google.com"; | 76 const char kCommandLineValue[] = "user:command_line"; |
75 const char kApplicationLocaleValue[] = "is-WRONG"; | 77 const char kUserValue[] = "user:user"; |
76 const std::string kSearchProviderNameValue = "AreYouFeelingVeryLucky"; | |
77 } | 78 } |
78 | 79 |
79 namespace recommended_pref { | 80 namespace recommended_platform_pref { |
80 const int kStabilityLaunchCountValue = 10; | 81 const char kManagedPlatformValue[] = "recommended_platform:managed_platform"; |
81 const bool kRecommendedPrefValue = true; | 82 const char kManagedCloudValue[] = "recommended_platform:managed_cloud"; |
| 83 const char kExtensionValue[] = "recommended_platform:extension"; |
| 84 const char kCommandLineValue[] = "recommended_platform:command_line"; |
| 85 const char kUserValue[] = "recommended_platform:user"; |
| 86 const char kRecommendedPlatformValue[] = |
| 87 "recommended_platform:recommended_platform"; |
| 88 } |
| 89 |
| 90 namespace recommended_cloud_pref { |
| 91 const char kManagedPlatformValue[] = "recommended_cloud:managed_platform"; |
| 92 const char kManagedCloudValue[] = "recommended_cloud:managed_cloud"; |
| 93 const char kExtensionValue[] = "recommended_cloud:extension"; |
| 94 const char kCommandLineValue[] = "recommended_cloud:command_line"; |
| 95 const char kUserValue[] = "recommended_cloud:user"; |
| 96 const char kRecommendedPlatformValue[] = |
| 97 "recommended_cloud:recommended_platform"; |
| 98 const char kRecommendedCloudValue[] = "recommended_cloud:recommended_cloud"; |
82 } | 99 } |
83 | 100 |
84 namespace default_pref { | 101 namespace default_pref { |
85 const int kDefaultValue = 7; | 102 const char kManagedPlatformValue[] = "default:managed_platform"; |
86 const char kHomepageValue[] = "default homepage"; | 103 const char kManagedCloudValue[] = "default:managed_cloud"; |
87 const std::string kSearchProviderNameValue = "AreYouFeelingExtraLucky"; | 104 const char kExtensionValue[] = "default:extension"; |
| 105 const char kCommandLineValue[] = "default:command_line"; |
| 106 const char kUserValue[] = "default:user"; |
| 107 const char kRecommendedPlatformValue[] = "default:recommended_platform"; |
| 108 const char kRecommendedCloudValue[] = "default:recommended_cloud"; |
| 109 const char kDefaultValue[] = "default:default"; |
88 } | 110 } |
89 | 111 |
90 class PrefValueStoreTest : public testing::Test { | 112 class PrefValueStoreTest : public testing::Test { |
91 protected: | 113 protected: |
92 virtual void SetUp() { | 114 virtual void SetUp() { |
93 // Create TestingPrefStores. | 115 // Create TestingPrefStores. |
94 CreateManagedPlatformPrefs(); | 116 CreateManagedPlatformPrefs(); |
95 CreateDeviceManagementPrefs(); | 117 CreateManagedCloudPrefs(); |
96 CreateExtensionPrefs(); | 118 CreateExtensionPrefs(); |
97 CreateCommandLinePrefs(); | 119 CreateCommandLinePrefs(); |
98 CreateUserPrefs(); | 120 CreateUserPrefs(); |
99 CreateRecommendedPrefs(); | 121 CreateRecommendedPlatformPrefs(); |
| 122 CreateRecommendedCloudPrefs(); |
100 CreateDefaultPrefs(); | 123 CreateDefaultPrefs(); |
101 | 124 |
102 // Create a fresh PrefValueStore. | 125 // Create a fresh PrefValueStore. |
103 pref_value_store_.reset(new PrefValueStore( | 126 pref_value_store_.reset(new PrefValueStore( |
104 managed_platform_pref_store_, | 127 managed_platform_pref_store_, |
105 device_management_pref_store_, | 128 managed_cloud_pref_store_, |
106 extension_pref_store_, | 129 extension_pref_store_, |
107 command_line_pref_store_, | 130 command_line_pref_store_, |
108 user_pref_store_, | 131 user_pref_store_, |
109 recommended_pref_store_, | 132 recommended_platform_pref_store_, |
| 133 recommended_cloud_pref_store_, |
110 default_pref_store_, | 134 default_pref_store_, |
111 &pref_notifier_)); | 135 &pref_notifier_)); |
112 } | 136 } |
113 | 137 |
114 // Creates a new dictionary and stores some sample user preferences | 138 void CreateManagedPlatformPrefs() { |
115 // in it. | 139 managed_platform_pref_store_ = new TestingPrefStore; |
| 140 managed_platform_pref_store_->SetString( |
| 141 prefs::kManagedPlatformPref, |
| 142 managed_platform_pref::kManagedPlatformValue); |
| 143 } |
| 144 |
| 145 void CreateManagedCloudPrefs() { |
| 146 managed_cloud_pref_store_ = new TestingPrefStore; |
| 147 managed_cloud_pref_store_->SetString( |
| 148 prefs::kManagedPlatformPref, |
| 149 managed_cloud_pref::kManagedPlatformValue); |
| 150 managed_cloud_pref_store_->SetString( |
| 151 prefs::kManagedCloudPref, |
| 152 managed_cloud_pref::kManagedCloudValue); |
| 153 } |
| 154 |
| 155 void CreateExtensionPrefs() { |
| 156 extension_pref_store_ = new TestingPrefStore; |
| 157 extension_pref_store_->SetString( |
| 158 prefs::kManagedPlatformPref, |
| 159 extension_pref::kManagedPlatformValue); |
| 160 extension_pref_store_->SetString( |
| 161 prefs::kManagedCloudPref, |
| 162 extension_pref::kManagedCloudValue); |
| 163 extension_pref_store_->SetString( |
| 164 prefs::kExtensionPref, |
| 165 extension_pref::kExtensionValue); |
| 166 } |
| 167 |
| 168 void CreateCommandLinePrefs() { |
| 169 command_line_pref_store_ = new TestingPrefStore; |
| 170 command_line_pref_store_->SetString( |
| 171 prefs::kManagedPlatformPref, |
| 172 command_line_pref::kManagedPlatformValue); |
| 173 command_line_pref_store_->SetString( |
| 174 prefs::kManagedCloudPref, |
| 175 command_line_pref::kManagedCloudValue); |
| 176 command_line_pref_store_->SetString( |
| 177 prefs::kExtensionPref, |
| 178 command_line_pref::kExtensionValue); |
| 179 command_line_pref_store_->SetString( |
| 180 prefs::kCommandLinePref, |
| 181 command_line_pref::kCommandLineValue); |
| 182 } |
| 183 |
116 void CreateUserPrefs() { | 184 void CreateUserPrefs() { |
117 user_pref_store_ = new TestingPrefStore; | 185 user_pref_store_ = new TestingPrefStore; |
118 user_pref_store_->SetBoolean(prefs::kDeleteCache, | 186 user_pref_store_->SetString( |
119 user_pref::kDeleteCacheValue); | 187 prefs::kManagedPlatformPref, |
120 user_pref_store_->SetInteger(prefs::kStabilityLaunchCount, | 188 user_pref::kManagedPlatformValue); |
121 user_pref::kStabilityLaunchCountValue); | 189 user_pref_store_->SetString( |
122 user_pref_store_->SetString(prefs::kCurrentThemeID, | 190 prefs::kManagedCloudPref, |
123 user_pref::kCurrentThemeIDValue); | 191 user_pref::kManagedCloudValue); |
124 user_pref_store_->SetString(prefs::kApplicationLocale, | 192 user_pref_store_->SetString( |
125 user_pref::kApplicationLocaleValue); | 193 prefs::kCommandLinePref, |
126 user_pref_store_->SetString(prefs::kDefaultSearchProviderName, | 194 user_pref::kCommandLineValue); |
127 user_pref::kSearchProviderNameValue); | 195 user_pref_store_->SetString( |
128 user_pref_store_->SetString(prefs::kHomePage, | 196 prefs::kExtensionPref, |
129 user_pref::kHomepageValue); | 197 user_pref::kExtensionValue); |
130 } | 198 user_pref_store_->SetString( |
131 | 199 prefs::kUserPref, |
132 void CreateManagedPlatformPrefs() { | 200 user_pref::kUserValue); |
133 managed_platform_pref_store_ = new TestingPrefStore; | 201 } |
134 managed_platform_pref_store_->SetString(prefs::kHomePage, | 202 |
135 managed_platform_pref::kHomepageValue); | 203 void CreateRecommendedPlatformPrefs() { |
136 } | 204 recommended_platform_pref_store_ = new TestingPrefStore; |
137 | 205 recommended_platform_pref_store_->SetString( |
138 void CreateDeviceManagementPrefs() { | 206 prefs::kManagedPlatformPref, |
139 device_management_pref_store_ = new TestingPrefStore; | 207 recommended_platform_pref::kManagedPlatformValue); |
140 device_management_pref_store_->SetString(prefs::kDefaultSearchProviderName, | 208 recommended_platform_pref_store_->SetString( |
141 device_management_pref::kSearchProviderNameValue); | 209 prefs::kManagedCloudPref, |
142 device_management_pref_store_->SetString(prefs::kHomePage, | 210 recommended_platform_pref::kManagedCloudValue); |
143 device_management_pref::kHomepageValue); | 211 recommended_platform_pref_store_->SetString( |
144 } | 212 prefs::kCommandLinePref, |
145 | 213 recommended_platform_pref::kCommandLineValue); |
146 void CreateExtensionPrefs() { | 214 recommended_platform_pref_store_->SetString( |
147 extension_pref_store_ = new TestingPrefStore; | 215 prefs::kExtensionPref, |
148 extension_pref_store_->SetString(prefs::kCurrentThemeID, | 216 recommended_platform_pref::kExtensionValue); |
149 extension_pref::kCurrentThemeIDValue); | 217 recommended_platform_pref_store_->SetString( |
150 extension_pref_store_->SetString(prefs::kHomePage, | 218 prefs::kUserPref, |
151 extension_pref::kHomepageValue); | 219 recommended_platform_pref::kUserValue); |
152 extension_pref_store_->SetString(prefs::kDefaultSearchProviderName, | 220 recommended_platform_pref_store_->SetString( |
153 extension_pref::kSearchProviderNameValue); | 221 prefs::kRecommendedPlatformPref, |
154 } | 222 recommended_platform_pref::kRecommendedPlatformValue); |
155 | 223 } |
156 void CreateCommandLinePrefs() { | 224 |
157 command_line_pref_store_ = new TestingPrefStore; | 225 void CreateRecommendedCloudPrefs() { |
158 command_line_pref_store_->SetString(prefs::kCurrentThemeID, | 226 recommended_cloud_pref_store_ = new TestingPrefStore; |
159 command_line_pref::kCurrentThemeIDValue); | 227 recommended_cloud_pref_store_->SetString( |
160 command_line_pref_store_->SetString(prefs::kApplicationLocale, | 228 prefs::kManagedPlatformPref, |
161 command_line_pref::kApplicationLocaleValue); | 229 recommended_cloud_pref::kManagedPlatformValue); |
162 command_line_pref_store_->SetString(prefs::kHomePage, | 230 recommended_cloud_pref_store_->SetString( |
163 command_line_pref::kHomepageValue); | 231 prefs::kManagedCloudPref, |
164 command_line_pref_store_->SetString(prefs::kDefaultSearchProviderName, | 232 recommended_cloud_pref::kManagedCloudValue); |
165 command_line_pref::kSearchProviderNameValue); | 233 recommended_cloud_pref_store_->SetString( |
166 } | 234 prefs::kCommandLinePref, |
167 | 235 recommended_cloud_pref::kCommandLineValue); |
168 void CreateRecommendedPrefs() { | 236 recommended_cloud_pref_store_->SetString( |
169 recommended_pref_store_ = new TestingPrefStore; | 237 prefs::kExtensionPref, |
170 recommended_pref_store_->SetInteger(prefs::kStabilityLaunchCount, | 238 recommended_cloud_pref::kExtensionValue); |
171 recommended_pref::kStabilityLaunchCountValue); | 239 recommended_cloud_pref_store_->SetString( |
172 recommended_pref_store_->SetBoolean(prefs::kRecommendedPref, | 240 prefs::kUserPref, |
173 recommended_pref::kRecommendedPrefValue); | 241 recommended_cloud_pref::kUserValue); |
| 242 recommended_cloud_pref_store_->SetString( |
| 243 prefs::kRecommendedPlatformPref, |
| 244 recommended_cloud_pref::kRecommendedPlatformValue); |
| 245 recommended_cloud_pref_store_->SetString( |
| 246 prefs::kRecommendedCloudPref, |
| 247 recommended_cloud_pref::kRecommendedCloudValue); |
174 } | 248 } |
175 | 249 |
176 void CreateDefaultPrefs() { | 250 void CreateDefaultPrefs() { |
177 default_pref_store_ = new TestingPrefStore; | 251 default_pref_store_ = new TestingPrefStore; |
178 default_pref_store_->SetInteger(prefs::kDefaultPref, | 252 default_pref_store_->SetString( |
179 default_pref::kDefaultValue); | 253 prefs::kManagedPlatformPref, |
180 } | 254 default_pref::kManagedPlatformValue); |
181 | 255 default_pref_store_->SetString( |
182 DictionaryValue* CreateSampleDictValue() { | 256 prefs::kManagedCloudPref, |
183 DictionaryValue* sample_dict = new DictionaryValue(); | 257 default_pref::kManagedCloudValue); |
184 sample_dict->SetBoolean("issample", true); | 258 default_pref_store_->SetString( |
185 sample_dict->SetInteger("value", 4); | 259 prefs::kCommandLinePref, |
186 sample_dict->SetString("descr", "Sample Test Dictionary"); | 260 default_pref::kCommandLineValue); |
187 return sample_dict; | 261 default_pref_store_->SetString( |
188 } | 262 prefs::kExtensionPref, |
189 | 263 default_pref::kExtensionValue); |
190 ListValue* CreateSampleListValue() { | 264 default_pref_store_->SetString( |
191 ListValue* sample_list = new ListValue(); | 265 prefs::kUserPref, |
192 sample_list->Set(0, Value::CreateIntegerValue(0)); | 266 default_pref::kUserValue); |
193 sample_list->Set(1, Value::CreateIntegerValue(1)); | 267 default_pref_store_->SetString( |
194 sample_list->Set(2, Value::CreateIntegerValue(2)); | 268 prefs::kRecommendedPlatformPref, |
195 sample_list->Set(3, Value::CreateIntegerValue(3)); | 269 default_pref::kRecommendedPlatformValue); |
196 return sample_list; | 270 default_pref_store_->SetString( |
| 271 prefs::kRecommendedCloudPref, |
| 272 default_pref::kRecommendedCloudValue); |
| 273 default_pref_store_->SetString( |
| 274 prefs::kDefaultPref, |
| 275 default_pref::kDefaultValue); |
197 } | 276 } |
198 | 277 |
199 MockPrefNotifier pref_notifier_; | 278 MockPrefNotifier pref_notifier_; |
200 scoped_ptr<PrefValueStore> pref_value_store_; | 279 scoped_ptr<PrefValueStore> pref_value_store_; |
201 | 280 |
202 scoped_refptr<TestingPrefStore> managed_platform_pref_store_; | 281 scoped_refptr<TestingPrefStore> managed_platform_pref_store_; |
203 scoped_refptr<TestingPrefStore> device_management_pref_store_; | 282 scoped_refptr<TestingPrefStore> managed_cloud_pref_store_; |
204 scoped_refptr<TestingPrefStore> extension_pref_store_; | 283 scoped_refptr<TestingPrefStore> extension_pref_store_; |
205 scoped_refptr<TestingPrefStore> command_line_pref_store_; | 284 scoped_refptr<TestingPrefStore> command_line_pref_store_; |
206 scoped_refptr<TestingPrefStore> user_pref_store_; | 285 scoped_refptr<TestingPrefStore> user_pref_store_; |
207 scoped_refptr<TestingPrefStore> recommended_pref_store_; | 286 scoped_refptr<TestingPrefStore> recommended_platform_pref_store_; |
| 287 scoped_refptr<TestingPrefStore> recommended_cloud_pref_store_; |
208 scoped_refptr<TestingPrefStore> default_pref_store_; | 288 scoped_refptr<TestingPrefStore> default_pref_store_; |
209 }; | 289 }; |
210 | 290 |
211 TEST_F(PrefValueStoreTest, GetValue) { | 291 TEST_F(PrefValueStoreTest, GetValue) { |
212 Value* value; | 292 Value* value; |
213 | 293 |
214 // Test getting a managed platform value overwriting a user-defined and | 294 // The following tests read a value from the PrefService. The preferences are |
215 // extension-defined value. | 295 // set in a way such that all lower-priority stores have a value and we can |
216 value = NULL; | 296 // test whether overrides work correctly. |
217 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomePage, Value::TYPE_STRING, | 297 |
218 &value)); | 298 // Test getting a managed platform value. |
| 299 value = NULL; |
| 300 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kManagedPlatformPref, |
| 301 Value::TYPE_STRING, &value)); |
219 std::string actual_str_value; | 302 std::string actual_str_value; |
220 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 303 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
221 EXPECT_EQ(managed_platform_pref::kHomepageValue, actual_str_value); | 304 EXPECT_EQ(managed_platform_pref::kManagedPlatformValue, actual_str_value); |
222 | 305 |
223 // Test getting a managed platform value overwriting a user-defined value. | 306 // Test getting a managed cloud value. |
224 value = NULL; | 307 value = NULL; |
225 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultSearchProviderName, | 308 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kManagedCloudPref, |
226 Value::TYPE_STRING, &value)); | 309 Value::TYPE_STRING, &value)); |
227 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 310 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
228 EXPECT_EQ(device_management_pref::kSearchProviderNameValue, | 311 EXPECT_EQ(managed_cloud_pref::kManagedCloudValue, actual_str_value); |
| 312 |
| 313 // Test getting an extension value. |
| 314 value = NULL; |
| 315 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kExtensionPref, |
| 316 Value::TYPE_STRING, &value)); |
| 317 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
| 318 EXPECT_EQ(extension_pref::kExtensionValue, actual_str_value); |
| 319 |
| 320 // Test getting a command-line value. |
| 321 value = NULL; |
| 322 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCommandLinePref, |
| 323 Value::TYPE_STRING, &value)); |
| 324 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
| 325 EXPECT_EQ(command_line_pref::kCommandLineValue, actual_str_value); |
| 326 |
| 327 // Test getting a user-set value. |
| 328 value = NULL; |
| 329 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kUserPref, |
| 330 Value::TYPE_STRING, &value)); |
| 331 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
| 332 EXPECT_EQ(user_pref::kUserValue, actual_str_value); |
| 333 |
| 334 // Test getting a user set value overwriting a recommended value. |
| 335 value = NULL; |
| 336 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kRecommendedPlatformPref, |
| 337 Value::TYPE_STRING, &value)); |
| 338 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
| 339 EXPECT_EQ(recommended_platform_pref::kRecommendedPlatformValue, |
229 actual_str_value); | 340 actual_str_value); |
230 | 341 |
231 // Test getting an extension value overwriting a user-defined and | |
232 // command-line-defined value. | |
233 value = NULL; | |
234 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCurrentThemeID, | |
235 Value::TYPE_STRING, &value)); | |
236 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | |
237 EXPECT_EQ(extension_pref::kCurrentThemeIDValue, actual_str_value); | |
238 | |
239 // Test getting a command-line value overwriting a user-defined value. | |
240 value = NULL; | |
241 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kApplicationLocale, | |
242 Value::TYPE_STRING, &value)); | |
243 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | |
244 EXPECT_EQ(command_line_pref::kApplicationLocaleValue, actual_str_value); | |
245 | |
246 // Test getting a user-set value. | |
247 value = NULL; | |
248 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDeleteCache, | |
249 Value::TYPE_BOOLEAN, &value)); | |
250 bool actual_bool_value = false; | |
251 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); | |
252 EXPECT_EQ(user_pref::kDeleteCacheValue, actual_bool_value); | |
253 | |
254 // Test getting a user set value overwriting a recommended value. | |
255 value = NULL; | |
256 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kStabilityLaunchCount, | |
257 Value::TYPE_INTEGER, &value)); | |
258 int actual_int_value = -1; | |
259 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | |
260 EXPECT_EQ(user_pref::kStabilityLaunchCountValue, actual_int_value); | |
261 | |
262 // Test getting a recommended value. | 342 // Test getting a recommended value. |
263 value = NULL; | 343 value = NULL; |
264 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kRecommendedPref, | 344 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kRecommendedCloudPref, |
265 Value::TYPE_BOOLEAN, &value)); | 345 Value::TYPE_STRING, &value)); |
266 actual_bool_value = false; | 346 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
267 EXPECT_TRUE(value->GetAsBoolean(&actual_bool_value)); | 347 EXPECT_EQ(recommended_cloud_pref::kRecommendedCloudValue, actual_str_value); |
268 EXPECT_EQ(recommended_pref::kRecommendedPrefValue, actual_bool_value); | |
269 | 348 |
270 // Test getting a default value. | 349 // Test getting a default value. |
271 value = NULL; | 350 value = NULL; |
272 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultPref, | 351 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultPref, |
273 Value::TYPE_INTEGER, &value)); | 352 Value::TYPE_STRING, &value)); |
274 actual_int_value = -1; | 353 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
275 EXPECT_TRUE(value->GetAsInteger(&actual_int_value)); | 354 EXPECT_EQ(default_pref::kDefaultValue, actual_str_value); |
276 EXPECT_EQ(default_pref::kDefaultValue, actual_int_value); | |
277 | 355 |
278 // Test getting a preference value that the |PrefValueStore| | 356 // Test getting a preference value that the |PrefValueStore| |
279 // does not contain. | 357 // does not contain. |
280 FundamentalValue tmp_dummy_value(true); | 358 FundamentalValue tmp_dummy_value(true); |
281 Value* v_null = &tmp_dummy_value; | 359 value = &tmp_dummy_value; |
282 ASSERT_FALSE(pref_value_store_->GetValue(prefs::kMissingPref, | 360 ASSERT_FALSE(pref_value_store_->GetValue(prefs::kMissingPref, |
283 Value::TYPE_STRING, &v_null)); | 361 Value::TYPE_STRING, &value)); |
284 ASSERT_TRUE(v_null == NULL); | 362 ASSERT_TRUE(value == NULL); |
285 } | 363 } |
286 | 364 |
287 TEST_F(PrefValueStoreTest, PrefChanges) { | 365 TEST_F(PrefValueStoreTest, PrefChanges) { |
288 // Setup. | |
289 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(AnyNumber()); | |
290 const char managed_platform_pref_path[] = "managed_platform_pref"; | |
291 managed_platform_pref_store_->SetString(managed_platform_pref_path, | |
292 "managed value"); | |
293 const char user_pref_path[] = "user_pref"; | |
294 user_pref_store_->SetString(user_pref_path, "user value"); | |
295 const char default_pref_path[] = "default_pref"; | |
296 default_pref_store_->SetString(default_pref_path, "default value"); | |
297 Mock::VerifyAndClearExpectations(&pref_notifier_); | |
298 | |
299 // Check pref controlled by highest-priority store. | 366 // Check pref controlled by highest-priority store. |
300 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(managed_platform_pref_path)); | 367 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kManagedPlatformPref)); |
301 managed_platform_pref_store_->NotifyPrefValueChanged( | 368 managed_platform_pref_store_->NotifyPrefValueChanged( |
302 managed_platform_pref_path); | 369 prefs::kManagedPlatformPref); |
303 Mock::VerifyAndClearExpectations(&pref_notifier_); | 370 Mock::VerifyAndClearExpectations(&pref_notifier_); |
304 | 371 |
305 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0); | 372 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0); |
306 user_pref_store_->NotifyPrefValueChanged(managed_platform_pref_path); | 373 managed_cloud_pref_store_->NotifyPrefValueChanged( |
| 374 prefs::kManagedPlatformPref); |
| 375 extension_pref_store_->NotifyPrefValueChanged( |
| 376 prefs::kManagedPlatformPref); |
| 377 command_line_pref_store_->NotifyPrefValueChanged( |
| 378 prefs::kManagedPlatformPref); |
| 379 user_pref_store_->NotifyPrefValueChanged( |
| 380 prefs::kManagedPlatformPref); |
| 381 recommended_platform_pref_store_->NotifyPrefValueChanged( |
| 382 prefs::kManagedPlatformPref); |
| 383 recommended_cloud_pref_store_->NotifyPrefValueChanged( |
| 384 prefs::kManagedPlatformPref); |
| 385 default_pref_store_->NotifyPrefValueChanged( |
| 386 prefs::kManagedPlatformPref); |
307 Mock::VerifyAndClearExpectations(&pref_notifier_); | 387 Mock::VerifyAndClearExpectations(&pref_notifier_); |
308 | 388 |
309 // Check pref controlled by user store. | 389 // Check pref controlled by user store. |
310 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(user_pref_path)); | 390 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref)); |
311 managed_platform_pref_store_->NotifyPrefValueChanged(user_pref_path); | 391 managed_platform_pref_store_->NotifyPrefValueChanged(prefs::kUserPref); |
312 Mock::VerifyAndClearExpectations(&pref_notifier_); | 392 Mock::VerifyAndClearExpectations(&pref_notifier_); |
313 | 393 |
314 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(user_pref_path)); | 394 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref)); |
315 user_pref_store_->NotifyPrefValueChanged(user_pref_path); | 395 managed_cloud_pref_store_->NotifyPrefValueChanged(prefs::kUserPref); |
| 396 Mock::VerifyAndClearExpectations(&pref_notifier_); |
| 397 |
| 398 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref)); |
| 399 extension_pref_store_->NotifyPrefValueChanged(prefs::kUserPref); |
| 400 Mock::VerifyAndClearExpectations(&pref_notifier_); |
| 401 |
| 402 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref)); |
| 403 command_line_pref_store_->NotifyPrefValueChanged(prefs::kUserPref); |
| 404 Mock::VerifyAndClearExpectations(&pref_notifier_); |
| 405 |
| 406 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kUserPref)); |
| 407 user_pref_store_->NotifyPrefValueChanged(prefs::kUserPref); |
316 Mock::VerifyAndClearExpectations(&pref_notifier_); | 408 Mock::VerifyAndClearExpectations(&pref_notifier_); |
317 | 409 |
318 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0); | 410 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(_)).Times(0); |
319 default_pref_store_->NotifyPrefValueChanged(user_pref_path); | 411 recommended_platform_pref_store_->NotifyPrefValueChanged( |
| 412 prefs::kUserPref); |
| 413 recommended_cloud_pref_store_->NotifyPrefValueChanged( |
| 414 prefs::kUserPref); |
| 415 default_pref_store_->NotifyPrefValueChanged( |
| 416 prefs::kUserPref); |
320 Mock::VerifyAndClearExpectations(&pref_notifier_); | 417 Mock::VerifyAndClearExpectations(&pref_notifier_); |
321 | 418 |
322 // Check pref controlled by default-pref store. | 419 // Check pref controlled by default-pref store. |
323 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(default_pref_path)); | 420 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref)); |
324 user_pref_store_->NotifyPrefValueChanged(default_pref_path); | 421 managed_platform_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); |
325 Mock::VerifyAndClearExpectations(&pref_notifier_); | 422 Mock::VerifyAndClearExpectations(&pref_notifier_); |
326 | 423 |
327 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(default_pref_path)); | 424 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref)); |
328 default_pref_store_->NotifyPrefValueChanged(default_pref_path); | 425 managed_cloud_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); |
| 426 Mock::VerifyAndClearExpectations(&pref_notifier_); |
| 427 |
| 428 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref)); |
| 429 extension_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); |
| 430 Mock::VerifyAndClearExpectations(&pref_notifier_); |
| 431 |
| 432 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref)); |
| 433 command_line_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); |
| 434 Mock::VerifyAndClearExpectations(&pref_notifier_); |
| 435 |
| 436 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref)); |
| 437 user_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); |
| 438 Mock::VerifyAndClearExpectations(&pref_notifier_); |
| 439 |
| 440 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref)); |
| 441 recommended_platform_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); |
| 442 Mock::VerifyAndClearExpectations(&pref_notifier_); |
| 443 |
| 444 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref)); |
| 445 recommended_cloud_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); |
| 446 Mock::VerifyAndClearExpectations(&pref_notifier_); |
| 447 |
| 448 EXPECT_CALL(pref_notifier_, OnPreferenceChanged(prefs::kDefaultPref)); |
| 449 default_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); |
329 Mock::VerifyAndClearExpectations(&pref_notifier_); | 450 Mock::VerifyAndClearExpectations(&pref_notifier_); |
330 } | 451 } |
331 | 452 |
332 TEST_F(PrefValueStoreTest, OnInitializationCompleted) { | 453 TEST_F(PrefValueStoreTest, OnInitializationCompleted) { |
333 EXPECT_CALL(pref_notifier_, OnInitializationCompleted()).Times(0); | 454 EXPECT_CALL(pref_notifier_, OnInitializationCompleted()).Times(0); |
334 managed_platform_pref_store_->SetInitializationCompleted(); | 455 managed_platform_pref_store_->SetInitializationCompleted(); |
335 device_management_pref_store_->SetInitializationCompleted(); | 456 managed_cloud_pref_store_->SetInitializationCompleted(); |
336 extension_pref_store_->SetInitializationCompleted(); | 457 extension_pref_store_->SetInitializationCompleted(); |
337 command_line_pref_store_->SetInitializationCompleted(); | 458 command_line_pref_store_->SetInitializationCompleted(); |
338 recommended_pref_store_->SetInitializationCompleted(); | 459 recommended_platform_pref_store_->SetInitializationCompleted(); |
| 460 recommended_cloud_pref_store_->SetInitializationCompleted(); |
339 default_pref_store_->SetInitializationCompleted(); | 461 default_pref_store_->SetInitializationCompleted(); |
340 Mock::VerifyAndClearExpectations(&pref_notifier_); | 462 Mock::VerifyAndClearExpectations(&pref_notifier_); |
341 | 463 |
342 // The notification should only be triggered after the last store is done. | 464 // The notification should only be triggered after the last store is done. |
343 EXPECT_CALL(pref_notifier_, OnInitializationCompleted()).Times(1); | 465 EXPECT_CALL(pref_notifier_, OnInitializationCompleted()).Times(1); |
344 user_pref_store_->SetInitializationCompleted(); | 466 user_pref_store_->SetInitializationCompleted(); |
345 Mock::VerifyAndClearExpectations(&pref_notifier_); | 467 Mock::VerifyAndClearExpectations(&pref_notifier_); |
346 } | 468 } |
347 | 469 |
348 TEST_F(PrefValueStoreTest, PrefValueInManagedPlatformStore) { | 470 TEST_F(PrefValueStoreTest, PrefValueInManagedStore) { |
349 // Test a managed platform preference. | 471 EXPECT_TRUE(pref_value_store_->PrefValueInManagedStore( |
350 EXPECT_TRUE(pref_value_store_->PrefValueInManagedPlatformStore( | 472 prefs::kManagedPlatformPref)); |
351 prefs::kHomePage)); | 473 EXPECT_TRUE(pref_value_store_->PrefValueInManagedStore( |
352 | 474 prefs::kManagedCloudPref)); |
353 // Test a device management preference. | 475 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
354 EXPECT_TRUE(pref_value_store_->PrefValueInDeviceManagementStore( | 476 prefs::kExtensionPref)); |
355 prefs::kDefaultSearchProviderName)); | 477 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
356 | 478 prefs::kCommandLinePref)); |
357 // Test an extension preference. | 479 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
358 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 480 prefs::kUserPref)); |
359 prefs::kCurrentThemeID)); | 481 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
360 | 482 prefs::kRecommendedPlatformPref)); |
361 // Test a command-line preference. | 483 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
362 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | 484 prefs::kRecommendedCloudPref)); |
363 prefs::kApplicationLocale)); | 485 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
364 | |
365 // Test a user preference. | |
366 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | |
367 prefs::kStabilityLaunchCount)); | |
368 | |
369 // Test a preference from the recommended pref store. | |
370 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | |
371 prefs::kRecommendedPref)); | |
372 | |
373 // Test a preference from the default pref store. | |
374 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | |
375 prefs::kDefaultPref)); | 486 prefs::kDefaultPref)); |
376 | 487 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
377 // Test a preference for which the PrefValueStore does not contain a value. | |
378 EXPECT_FALSE(pref_value_store_->PrefValueInManagedPlatformStore( | |
379 prefs::kMissingPref)); | 488 prefs::kMissingPref)); |
380 } | 489 } |
381 | 490 |
382 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { | 491 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { |
383 // Test a managed platform preference. | |
384 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(prefs::kHomePage)); | |
385 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | |
386 prefs::kHomePage)); | |
387 | |
388 // Test a device management preference. | |
389 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( | 492 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
390 prefs::kDefaultSearchProviderName)); | 493 prefs::kManagedPlatformPref)); |
391 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | |
392 prefs::kDefaultSearchProviderName)); | |
393 | |
394 // Test an extension preference. | |
395 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( | 494 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
396 prefs::kCurrentThemeID)); | 495 prefs::kManagedCloudPref)); |
397 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( | 496 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
398 prefs::kCurrentThemeID)); | 497 prefs::kExtensionPref)); |
399 | |
400 // Test a command-line preference. | |
401 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 498 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
402 prefs::kApplicationLocale)); | 499 prefs::kCommandLinePref)); |
403 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | |
404 prefs::kApplicationLocale)); | |
405 | |
406 // Test a user preference. | |
407 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 500 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
408 prefs::kStabilityLaunchCount)); | 501 prefs::kUserPref)); |
409 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | |
410 prefs::kStabilityLaunchCount)); | |
411 | |
412 // Test a preference from the recommended pref store. | |
413 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 502 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
414 prefs::kRecommendedPref)); | 503 prefs::kRecommendedPlatformPref)); |
415 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 504 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
416 prefs::kRecommendedPref)); | 505 prefs::kRecommendedCloudPref)); |
417 | |
418 // Test a preference from the default pref store. | |
419 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 506 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
420 prefs::kDefaultPref)); | 507 prefs::kDefaultPref)); |
| 508 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
| 509 prefs::kMissingPref)); |
| 510 } |
| 511 |
| 512 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { |
| 513 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
| 514 prefs::kManagedPlatformPref)); |
| 515 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
| 516 prefs::kManagedCloudPref)); |
| 517 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
| 518 prefs::kExtensionPref)); |
| 519 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
| 520 prefs::kCommandLinePref)); |
| 521 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
| 522 prefs::kUserPref)); |
| 523 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( |
| 524 prefs::kRecommendedPlatformPref)); |
| 525 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( |
| 526 prefs::kRecommendedCloudPref)); |
| 527 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( |
| 528 prefs::kDefaultPref)); |
| 529 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( |
| 530 prefs::kMissingPref)); |
| 531 } |
| 532 |
| 533 TEST_F(PrefValueStoreTest, PrefValueFromExtensionStore) { |
| 534 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
| 535 prefs::kManagedPlatformPref)); |
| 536 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
| 537 prefs::kManagedCloudPref)); |
| 538 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( |
| 539 prefs::kExtensionPref)); |
| 540 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
| 541 prefs::kCommandLinePref)); |
| 542 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
| 543 prefs::kUserPref)); |
| 544 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
| 545 prefs::kRecommendedPlatformPref)); |
| 546 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
| 547 prefs::kRecommendedCloudPref)); |
421 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 548 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
422 prefs::kDefaultPref)); | 549 prefs::kDefaultPref)); |
423 | |
424 // Test a preference for which the PrefValueStore does not contain a value. | |
425 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | |
426 prefs::kMissingPref)); | |
427 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 550 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
428 prefs::kMissingPref)); | 551 prefs::kMissingPref)); |
429 } | 552 } |
430 | 553 |
431 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { | 554 TEST_F(PrefValueStoreTest, PrefValueFromUserStore) { |
432 // Test a managed platform preference. | |
433 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(prefs::kHomePage)); | |
434 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kHomePage)); | |
435 | |
436 // Test a device management preference. | |
437 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | |
438 prefs::kDefaultSearchProviderName)); | |
439 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 555 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
440 prefs::kDefaultSearchProviderName)); | 556 prefs::kManagedPlatformPref)); |
441 | |
442 // Test an extension preference. | |
443 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | |
444 prefs::kCurrentThemeID)); | |
445 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 557 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
446 prefs::kCurrentThemeID)); | 558 prefs::kManagedCloudPref)); |
447 | |
448 // Test a command-line preference. | |
449 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | |
450 prefs::kApplicationLocale)); | |
451 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 559 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
452 prefs::kApplicationLocale)); | 560 prefs::kExtensionPref)); |
453 | 561 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
454 // Test a user preference. | 562 prefs::kCommandLinePref)); |
455 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | |
456 prefs::kStabilityLaunchCount)); | |
457 EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore( | 563 EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore( |
458 prefs::kStabilityLaunchCount)); | 564 prefs::kUserPref)); |
459 | |
460 // Test a preference from the recommended pref store. | |
461 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( | |
462 prefs::kRecommendedPref)); | |
463 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 565 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
464 prefs::kRecommendedPref)); | 566 prefs::kRecommendedPlatformPref)); |
465 | 567 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
466 // Test a preference from the default pref store. | 568 prefs::kRecommendedCloudPref)); |
467 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kDefaultPref)); | 569 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
468 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kDefaultPref)); | 570 prefs::kDefaultPref)); |
469 | 571 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
470 // Test a preference for which the PrefValueStore does not contain a value. | 572 prefs::kMissingPref)); |
471 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kMissingPref)); | |
472 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kMissingPref)); | |
473 } | 573 } |
474 | 574 |
475 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { | 575 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { |
476 // Test a managed platform preference. | 576 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
477 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(prefs::kHomePage)); | 577 prefs::kManagedPlatformPref)); |
| 578 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
| 579 prefs::kManagedCloudPref)); |
| 580 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
| 581 prefs::kExtensionPref)); |
| 582 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
| 583 prefs::kCommandLinePref)); |
| 584 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
| 585 prefs::kUserPref)); |
| 586 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
| 587 prefs::kRecommendedPlatformPref)); |
| 588 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
| 589 prefs::kRecommendedCloudPref)); |
| 590 EXPECT_TRUE(pref_value_store_->PrefValueFromDefaultStore( |
| 591 prefs::kDefaultPref)); |
| 592 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
| 593 prefs::kMissingPref)); |
| 594 } |
478 | 595 |
479 // Test a device management preference. | 596 TEST_F(PrefValueStoreTest, PrefValueUserModifiable) { |
480 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 597 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
481 prefs::kDefaultSearchProviderName)); | 598 prefs::kManagedPlatformPref)); |
482 | 599 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
483 // Test an extension preference. | 600 prefs::kManagedCloudPref)); |
484 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 601 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
485 prefs::kCurrentThemeID)); | 602 prefs::kExtensionPref)); |
486 | 603 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
487 // Test a command-line preference. | 604 prefs::kCommandLinePref)); |
488 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 605 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( |
489 prefs::kApplicationLocale)); | 606 prefs::kUserPref)); |
490 | 607 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( |
491 // Test a user preference. | 608 prefs::kRecommendedPlatformPref)); |
492 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 609 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( |
493 prefs::kStabilityLaunchCount)); | 610 prefs::kRecommendedCloudPref)); |
494 | 611 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( |
495 // Test a preference from the recommended pref store. | 612 prefs::kDefaultPref)); |
496 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 613 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( |
497 prefs::kRecommendedPref)); | 614 prefs::kMissingPref)); |
498 | |
499 // Test a preference from the default pref store. | |
500 EXPECT_TRUE( | |
501 pref_value_store_->PrefValueFromDefaultStore(prefs::kDefaultPref)); | |
502 | |
503 // Test a preference for which the PrefValueStore does not contain a value. | |
504 EXPECT_FALSE( | |
505 pref_value_store_->PrefValueFromDefaultStore(prefs::kMissingPref)); | |
506 } | 615 } |
OLD | NEW |