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/bind.h" | 7 #include "base/bind.h" |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/prefs/pref_notifier.h" | 10 #include "base/prefs/pref_notifier.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 class MockPrefModelAssociator { | 30 class MockPrefModelAssociator { |
31 public: | 31 public: |
32 MOCK_METHOD1(ProcessPrefChange, void(const std::string&)); | 32 MOCK_METHOD1(ProcessPrefChange, void(const std::string&)); |
33 }; | 33 }; |
34 | 34 |
35 } // namespace | 35 } // namespace |
36 | 36 |
37 // Names of the preferences used in this test. | 37 // Names of the preferences used in this test. |
38 namespace prefs { | 38 namespace prefs { |
39 const char kManagedPref[] = "this.pref.managed"; | 39 const char kManagedPref[] = "this.pref.managed"; |
| 40 const char kManagedUserPref[] = "this.pref.managed_user"; |
40 const char kCommandLinePref[] = "this.pref.command_line"; | 41 const char kCommandLinePref[] = "this.pref.command_line"; |
41 const char kExtensionPref[] = "this.pref.extension"; | 42 const char kExtensionPref[] = "this.pref.extension"; |
42 const char kUserPref[] = "this.pref.user"; | 43 const char kUserPref[] = "this.pref.user"; |
43 const char kRecommendedPref[] = "this.pref.recommended"; | 44 const char kRecommendedPref[] = "this.pref.recommended"; |
44 const char kDefaultPref[] = "this.pref.default"; | 45 const char kDefaultPref[] = "this.pref.default"; |
45 const char kMissingPref[] = "this.pref.does_not_exist"; | 46 const char kMissingPref[] = "this.pref.does_not_exist"; |
46 } | 47 } |
47 | 48 |
48 // Potentially expected values of all preferences used in this test program. | 49 // Potentially expected values of all preferences used in this test program. |
49 namespace managed_pref { | 50 namespace managed_pref { |
50 const char kManagedValue[] = "managed:managed"; | 51 const char kManagedValue[] = "managed:managed"; |
51 } | 52 } |
52 | 53 |
| 54 namespace managed_user_pref { |
| 55 const char kManagedValue[] = "managed_user:managed"; |
| 56 const char kManagedUserValue[] = "managed_user:managed_user"; |
| 57 } |
| 58 |
53 namespace extension_pref { | 59 namespace extension_pref { |
54 const char kManagedValue[] = "extension:managed"; | 60 const char kManagedValue[] = "extension:managed"; |
| 61 const char kManagedUserValue[] = "extension:managed_user"; |
55 const char kExtensionValue[] = "extension:extension"; | 62 const char kExtensionValue[] = "extension:extension"; |
56 } | 63 } |
57 | 64 |
58 namespace command_line_pref { | 65 namespace command_line_pref { |
59 const char kManagedValue[] = "command_line:managed"; | 66 const char kManagedValue[] = "command_line:managed"; |
| 67 const char kManagedUserValue[] = "command_line:managed_user"; |
60 const char kExtensionValue[] = "command_line:extension"; | 68 const char kExtensionValue[] = "command_line:extension"; |
61 const char kCommandLineValue[] = "command_line:command_line"; | 69 const char kCommandLineValue[] = "command_line:command_line"; |
62 } | 70 } |
63 | 71 |
64 namespace user_pref { | 72 namespace user_pref { |
65 const char kManagedValue[] = "user:managed"; | 73 const char kManagedValue[] = "user:managed"; |
| 74 const char kManagedUserValue[] = "managed_user:managed_user"; |
66 const char kExtensionValue[] = "user:extension"; | 75 const char kExtensionValue[] = "user:extension"; |
67 const char kCommandLineValue[] = "user:command_line"; | 76 const char kCommandLineValue[] = "user:command_line"; |
68 const char kUserValue[] = "user:user"; | 77 const char kUserValue[] = "user:user"; |
69 } | 78 } |
70 | 79 |
71 namespace recommended_pref { | 80 namespace recommended_pref { |
72 const char kManagedValue[] = "recommended:managed"; | 81 const char kManagedValue[] = "recommended:managed"; |
| 82 const char kManagedUserValue[] = "recommended:managed_user"; |
73 const char kExtensionValue[] = "recommended:extension"; | 83 const char kExtensionValue[] = "recommended:extension"; |
74 const char kCommandLineValue[] = "recommended:command_line"; | 84 const char kCommandLineValue[] = "recommended:command_line"; |
75 const char kUserValue[] = "recommended:user"; | 85 const char kUserValue[] = "recommended:user"; |
76 const char kRecommendedValue[] = "recommended:recommended"; | 86 const char kRecommendedValue[] = "recommended:recommended"; |
77 } | 87 } |
78 | 88 |
79 namespace default_pref { | 89 namespace default_pref { |
80 const char kManagedValue[] = "default:managed"; | 90 const char kManagedValue[] = "default:managed"; |
| 91 const char kManagedUserValue[] = "default:managed_user"; |
81 const char kExtensionValue[] = "default:extension"; | 92 const char kExtensionValue[] = "default:extension"; |
82 const char kCommandLineValue[] = "default:command_line"; | 93 const char kCommandLineValue[] = "default:command_line"; |
83 const char kUserValue[] = "default:user"; | 94 const char kUserValue[] = "default:user"; |
84 const char kRecommendedValue[] = "default:recommended"; | 95 const char kRecommendedValue[] = "default:recommended"; |
85 const char kDefaultValue[] = "default:default"; | 96 const char kDefaultValue[] = "default:default"; |
86 } | 97 } |
87 | 98 |
88 class PrefValueStoreTest : public testing::Test { | 99 class PrefValueStoreTest : public testing::Test { |
89 protected: | 100 protected: |
90 virtual void SetUp() { | 101 virtual void SetUp() { |
91 // Create TestingPrefStores. | 102 // Create TestingPrefStores. |
92 CreateManagedPrefs(); | 103 CreateManagedPrefs(); |
| 104 CreateManagedUserPrefs(); |
93 CreateExtensionPrefs(); | 105 CreateExtensionPrefs(); |
94 CreateCommandLinePrefs(); | 106 CreateCommandLinePrefs(); |
95 CreateUserPrefs(); | 107 CreateUserPrefs(); |
96 CreateRecommendedPrefs(); | 108 CreateRecommendedPrefs(); |
97 CreateDefaultPrefs(); | 109 CreateDefaultPrefs(); |
98 sync_associator_.reset(new MockPrefModelAssociator()); | 110 sync_associator_.reset(new MockPrefModelAssociator()); |
99 | 111 |
100 // Create a fresh PrefValueStore. | 112 // Create a fresh PrefValueStore. |
101 pref_value_store_.reset(new PrefValueStore(managed_pref_store_.get(), | 113 pref_value_store_.reset(new PrefValueStore(managed_pref_store_.get(), |
| 114 managed_user_pref_store_.get(), |
102 extension_pref_store_.get(), | 115 extension_pref_store_.get(), |
103 command_line_pref_store_.get(), | 116 command_line_pref_store_.get(), |
104 user_pref_store_.get(), | 117 user_pref_store_.get(), |
105 recommended_pref_store_.get(), | 118 recommended_pref_store_.get(), |
106 default_pref_store_.get(), | 119 default_pref_store_.get(), |
107 &pref_notifier_)); | 120 &pref_notifier_)); |
108 | 121 |
109 pref_value_store_->set_callback( | 122 pref_value_store_->set_callback( |
110 base::Bind(&MockPrefModelAssociator::ProcessPrefChange, | 123 base::Bind(&MockPrefModelAssociator::ProcessPrefChange, |
111 base::Unretained(sync_associator_.get()))); | 124 base::Unretained(sync_associator_.get()))); |
112 } | 125 } |
113 | 126 |
114 void CreateManagedPrefs() { | 127 void CreateManagedPrefs() { |
115 managed_pref_store_ = new TestingPrefStore; | 128 managed_pref_store_ = new TestingPrefStore; |
116 managed_pref_store_->SetString( | 129 managed_pref_store_->SetString( |
117 prefs::kManagedPref, | 130 prefs::kManagedPref, |
118 managed_pref::kManagedValue); | 131 managed_pref::kManagedValue); |
119 } | 132 } |
120 | 133 |
| 134 void CreateManagedUserPrefs() { |
| 135 managed_user_pref_store_ = new TestingPrefStore; |
| 136 managed_user_pref_store_->SetString( |
| 137 prefs::kManagedPref, |
| 138 managed_user_pref::kManagedValue); |
| 139 managed_user_pref_store_->SetString( |
| 140 prefs::kManagedUserPref, |
| 141 managed_user_pref::kManagedUserValue); |
| 142 } |
| 143 |
121 void CreateExtensionPrefs() { | 144 void CreateExtensionPrefs() { |
122 extension_pref_store_ = new TestingPrefStore; | 145 extension_pref_store_ = new TestingPrefStore; |
123 extension_pref_store_->SetString( | 146 extension_pref_store_->SetString( |
124 prefs::kManagedPref, | 147 prefs::kManagedPref, |
125 extension_pref::kManagedValue); | 148 extension_pref::kManagedValue); |
126 extension_pref_store_->SetString( | 149 extension_pref_store_->SetString( |
| 150 prefs::kManagedUserPref, |
| 151 extension_pref::kManagedUserValue); |
| 152 extension_pref_store_->SetString( |
127 prefs::kExtensionPref, | 153 prefs::kExtensionPref, |
128 extension_pref::kExtensionValue); | 154 extension_pref::kExtensionValue); |
129 } | 155 } |
130 | 156 |
131 void CreateCommandLinePrefs() { | 157 void CreateCommandLinePrefs() { |
132 command_line_pref_store_ = new TestingPrefStore; | 158 command_line_pref_store_ = new TestingPrefStore; |
133 command_line_pref_store_->SetString( | 159 command_line_pref_store_->SetString( |
134 prefs::kManagedPref, | 160 prefs::kManagedPref, |
135 command_line_pref::kManagedValue); | 161 command_line_pref::kManagedValue); |
136 command_line_pref_store_->SetString( | 162 command_line_pref_store_->SetString( |
| 163 prefs::kManagedUserPref, |
| 164 command_line_pref::kManagedUserValue); |
| 165 command_line_pref_store_->SetString( |
137 prefs::kExtensionPref, | 166 prefs::kExtensionPref, |
138 command_line_pref::kExtensionValue); | 167 command_line_pref::kExtensionValue); |
139 command_line_pref_store_->SetString( | 168 command_line_pref_store_->SetString( |
140 prefs::kCommandLinePref, | 169 prefs::kCommandLinePref, |
141 command_line_pref::kCommandLineValue); | 170 command_line_pref::kCommandLineValue); |
142 } | 171 } |
143 | 172 |
144 void CreateUserPrefs() { | 173 void CreateUserPrefs() { |
145 user_pref_store_ = new TestingPrefStore; | 174 user_pref_store_ = new TestingPrefStore; |
146 user_pref_store_->SetString( | 175 user_pref_store_->SetString( |
147 prefs::kManagedPref, | 176 prefs::kManagedPref, |
148 user_pref::kManagedValue); | 177 user_pref::kManagedValue); |
149 user_pref_store_->SetString( | 178 user_pref_store_->SetString( |
| 179 prefs::kManagedUserPref, |
| 180 user_pref::kManagedUserValue); |
| 181 user_pref_store_->SetString( |
150 prefs::kCommandLinePref, | 182 prefs::kCommandLinePref, |
151 user_pref::kCommandLineValue); | 183 user_pref::kCommandLineValue); |
152 user_pref_store_->SetString( | 184 user_pref_store_->SetString( |
153 prefs::kExtensionPref, | 185 prefs::kExtensionPref, |
154 user_pref::kExtensionValue); | 186 user_pref::kExtensionValue); |
155 user_pref_store_->SetString( | 187 user_pref_store_->SetString( |
156 prefs::kUserPref, | 188 prefs::kUserPref, |
157 user_pref::kUserValue); | 189 user_pref::kUserValue); |
158 } | 190 } |
159 | 191 |
160 void CreateRecommendedPrefs() { | 192 void CreateRecommendedPrefs() { |
161 recommended_pref_store_ = new TestingPrefStore; | 193 recommended_pref_store_ = new TestingPrefStore; |
162 recommended_pref_store_->SetString( | 194 recommended_pref_store_->SetString( |
163 prefs::kManagedPref, | 195 prefs::kManagedPref, |
164 recommended_pref::kManagedValue); | 196 recommended_pref::kManagedValue); |
165 recommended_pref_store_->SetString( | 197 recommended_pref_store_->SetString( |
| 198 prefs::kManagedUserPref, |
| 199 recommended_pref::kManagedUserValue); |
| 200 recommended_pref_store_->SetString( |
166 prefs::kCommandLinePref, | 201 prefs::kCommandLinePref, |
167 recommended_pref::kCommandLineValue); | 202 recommended_pref::kCommandLineValue); |
168 recommended_pref_store_->SetString( | 203 recommended_pref_store_->SetString( |
169 prefs::kExtensionPref, | 204 prefs::kExtensionPref, |
170 recommended_pref::kExtensionValue); | 205 recommended_pref::kExtensionValue); |
171 recommended_pref_store_->SetString( | 206 recommended_pref_store_->SetString( |
172 prefs::kUserPref, | 207 prefs::kUserPref, |
173 recommended_pref::kUserValue); | 208 recommended_pref::kUserValue); |
174 recommended_pref_store_->SetString( | 209 recommended_pref_store_->SetString( |
175 prefs::kRecommendedPref, | 210 prefs::kRecommendedPref, |
176 recommended_pref::kRecommendedValue); | 211 recommended_pref::kRecommendedValue); |
177 } | 212 } |
178 | 213 |
179 void CreateDefaultPrefs() { | 214 void CreateDefaultPrefs() { |
180 default_pref_store_ = new TestingPrefStore; | 215 default_pref_store_ = new TestingPrefStore; |
181 default_pref_store_->SetString( | 216 default_pref_store_->SetString( |
| 217 prefs::kManagedUserPref, |
| 218 default_pref::kManagedUserValue); |
| 219 default_pref_store_->SetString( |
182 prefs::kManagedPref, | 220 prefs::kManagedPref, |
183 default_pref::kManagedValue); | 221 default_pref::kManagedValue); |
184 default_pref_store_->SetString( | 222 default_pref_store_->SetString( |
185 prefs::kCommandLinePref, | 223 prefs::kCommandLinePref, |
186 default_pref::kCommandLineValue); | 224 default_pref::kCommandLineValue); |
187 default_pref_store_->SetString( | 225 default_pref_store_->SetString( |
188 prefs::kExtensionPref, | 226 prefs::kExtensionPref, |
189 default_pref::kExtensionValue); | 227 default_pref::kExtensionValue); |
190 default_pref_store_->SetString( | 228 default_pref_store_->SetString( |
191 prefs::kUserPref, | 229 prefs::kUserPref, |
(...skipping 14 matching lines...) Expand all Loading... |
206 void CheckAndClearValueChangeNotifications() { | 244 void CheckAndClearValueChangeNotifications() { |
207 Mock::VerifyAndClearExpectations(&pref_notifier_); | 245 Mock::VerifyAndClearExpectations(&pref_notifier_); |
208 Mock::VerifyAndClearExpectations(sync_associator_.get()); | 246 Mock::VerifyAndClearExpectations(sync_associator_.get()); |
209 } | 247 } |
210 | 248 |
211 MockPrefNotifier pref_notifier_; | 249 MockPrefNotifier pref_notifier_; |
212 scoped_ptr<MockPrefModelAssociator> sync_associator_; | 250 scoped_ptr<MockPrefModelAssociator> sync_associator_; |
213 scoped_ptr<PrefValueStore> pref_value_store_; | 251 scoped_ptr<PrefValueStore> pref_value_store_; |
214 | 252 |
215 scoped_refptr<TestingPrefStore> managed_pref_store_; | 253 scoped_refptr<TestingPrefStore> managed_pref_store_; |
| 254 scoped_refptr<TestingPrefStore> managed_user_pref_store_; |
216 scoped_refptr<TestingPrefStore> extension_pref_store_; | 255 scoped_refptr<TestingPrefStore> extension_pref_store_; |
217 scoped_refptr<TestingPrefStore> command_line_pref_store_; | 256 scoped_refptr<TestingPrefStore> command_line_pref_store_; |
218 scoped_refptr<TestingPrefStore> user_pref_store_; | 257 scoped_refptr<TestingPrefStore> user_pref_store_; |
219 scoped_refptr<TestingPrefStore> recommended_pref_store_; | 258 scoped_refptr<TestingPrefStore> recommended_pref_store_; |
220 scoped_refptr<TestingPrefStore> default_pref_store_; | 259 scoped_refptr<TestingPrefStore> default_pref_store_; |
221 }; | 260 }; |
222 | 261 |
223 TEST_F(PrefValueStoreTest, GetValue) { | 262 TEST_F(PrefValueStoreTest, GetValue) { |
224 const base::Value* value; | 263 const base::Value* value; |
225 | 264 |
226 // The following tests read a value from the PrefService. The preferences are | 265 // The following tests read a value from the PrefService. The preferences are |
227 // set in a way such that all lower-priority stores have a value and we can | 266 // set in a way such that all lower-priority stores have a value and we can |
228 // test whether overrides work correctly. | 267 // test whether overrides work correctly. |
229 | 268 |
230 // Test getting a managed value. | 269 // Test getting a managed value. |
231 value = NULL; | 270 value = NULL; |
232 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kManagedPref, | 271 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kManagedPref, |
233 base::Value::TYPE_STRING, &value)); | 272 base::Value::TYPE_STRING, &value)); |
234 std::string actual_str_value; | 273 std::string actual_str_value; |
235 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 274 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
236 EXPECT_EQ(managed_pref::kManagedValue, actual_str_value); | 275 EXPECT_EQ(managed_pref::kManagedValue, actual_str_value); |
237 | 276 |
| 277 // Test getting a managed user value. |
| 278 value = NULL; |
| 279 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kManagedUserPref, |
| 280 base::Value::TYPE_STRING, &value)); |
| 281 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
| 282 EXPECT_EQ(managed_user_pref::kManagedUserValue, actual_str_value); |
| 283 |
238 // Test getting an extension value. | 284 // Test getting an extension value. |
239 value = NULL; | 285 value = NULL; |
240 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kExtensionPref, | 286 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kExtensionPref, |
241 base::Value::TYPE_STRING, &value)); | 287 base::Value::TYPE_STRING, &value)); |
242 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 288 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
243 EXPECT_EQ(extension_pref::kExtensionValue, actual_str_value); | 289 EXPECT_EQ(extension_pref::kExtensionValue, actual_str_value); |
244 | 290 |
245 // Test getting a command-line value. | 291 // Test getting a command-line value. |
246 value = NULL; | 292 value = NULL; |
247 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCommandLinePref, | 293 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCommandLinePref, |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 | 335 |
290 // Test getting recommended value when a managed value is present. | 336 // Test getting recommended value when a managed value is present. |
291 value = NULL; | 337 value = NULL; |
292 ASSERT_TRUE(pref_value_store_->GetRecommendedValue( | 338 ASSERT_TRUE(pref_value_store_->GetRecommendedValue( |
293 prefs::kManagedPref, | 339 prefs::kManagedPref, |
294 base::Value::TYPE_STRING, &value)); | 340 base::Value::TYPE_STRING, &value)); |
295 std::string actual_str_value; | 341 std::string actual_str_value; |
296 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 342 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
297 EXPECT_EQ(recommended_pref::kManagedValue, actual_str_value); | 343 EXPECT_EQ(recommended_pref::kManagedValue, actual_str_value); |
298 | 344 |
| 345 // Test getting recommended value when a managed user value is present. |
| 346 value = NULL; |
| 347 ASSERT_TRUE(pref_value_store_->GetRecommendedValue( |
| 348 prefs::kManagedUserPref, |
| 349 base::Value::TYPE_STRING, &value)); |
| 350 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
| 351 EXPECT_EQ(recommended_pref::kManagedUserValue, actual_str_value); |
| 352 |
299 // Test getting recommended value when an extension value is present. | 353 // Test getting recommended value when an extension value is present. |
300 value = NULL; | 354 value = NULL; |
301 ASSERT_TRUE(pref_value_store_->GetRecommendedValue( | 355 ASSERT_TRUE(pref_value_store_->GetRecommendedValue( |
302 prefs::kExtensionPref, | 356 prefs::kExtensionPref, |
303 base::Value::TYPE_STRING, &value)); | 357 base::Value::TYPE_STRING, &value)); |
304 EXPECT_TRUE(value->GetAsString(&actual_str_value)); | 358 EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
305 EXPECT_EQ(recommended_pref::kExtensionValue, actual_str_value); | 359 EXPECT_EQ(recommended_pref::kExtensionValue, actual_str_value); |
306 | 360 |
307 // Test getting recommended value when a command-line value is present. | 361 // Test getting recommended value when a command-line value is present. |
308 value = NULL; | 362 value = NULL; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 ASSERT_FALSE(value); | 400 ASSERT_FALSE(value); |
347 } | 401 } |
348 | 402 |
349 TEST_F(PrefValueStoreTest, PrefChanges) { | 403 TEST_F(PrefValueStoreTest, PrefChanges) { |
350 // Check pref controlled by highest-priority store. | 404 // Check pref controlled by highest-priority store. |
351 ExpectValueChangeNotifications(prefs::kManagedPref); | 405 ExpectValueChangeNotifications(prefs::kManagedPref); |
352 managed_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); | 406 managed_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); |
353 CheckAndClearValueChangeNotifications(); | 407 CheckAndClearValueChangeNotifications(); |
354 | 408 |
355 ExpectValueChangeNotifications(prefs::kManagedPref); | 409 ExpectValueChangeNotifications(prefs::kManagedPref); |
| 410 managed_user_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); |
| 411 CheckAndClearValueChangeNotifications(); |
| 412 |
| 413 ExpectValueChangeNotifications(prefs::kManagedPref); |
356 extension_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); | 414 extension_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); |
357 CheckAndClearValueChangeNotifications(); | 415 CheckAndClearValueChangeNotifications(); |
358 | 416 |
359 ExpectValueChangeNotifications(prefs::kManagedPref); | 417 ExpectValueChangeNotifications(prefs::kManagedPref); |
360 command_line_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); | 418 command_line_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); |
361 CheckAndClearValueChangeNotifications(); | 419 CheckAndClearValueChangeNotifications(); |
362 | 420 |
363 ExpectValueChangeNotifications(prefs::kManagedPref); | 421 ExpectValueChangeNotifications(prefs::kManagedPref); |
364 user_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); | 422 user_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); |
365 CheckAndClearValueChangeNotifications(); | 423 CheckAndClearValueChangeNotifications(); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
419 CheckAndClearValueChangeNotifications(); | 477 CheckAndClearValueChangeNotifications(); |
420 | 478 |
421 ExpectValueChangeNotifications(prefs::kDefaultPref); | 479 ExpectValueChangeNotifications(prefs::kDefaultPref); |
422 default_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); | 480 default_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref); |
423 CheckAndClearValueChangeNotifications(); | 481 CheckAndClearValueChangeNotifications(); |
424 } | 482 } |
425 | 483 |
426 TEST_F(PrefValueStoreTest, OnInitializationCompleted) { | 484 TEST_F(PrefValueStoreTest, OnInitializationCompleted) { |
427 EXPECT_CALL(pref_notifier_, OnInitializationCompleted(true)).Times(0); | 485 EXPECT_CALL(pref_notifier_, OnInitializationCompleted(true)).Times(0); |
428 managed_pref_store_->SetInitializationCompleted(); | 486 managed_pref_store_->SetInitializationCompleted(); |
| 487 managed_user_pref_store_->SetInitializationCompleted(); |
429 extension_pref_store_->SetInitializationCompleted(); | 488 extension_pref_store_->SetInitializationCompleted(); |
430 command_line_pref_store_->SetInitializationCompleted(); | 489 command_line_pref_store_->SetInitializationCompleted(); |
431 recommended_pref_store_->SetInitializationCompleted(); | 490 recommended_pref_store_->SetInitializationCompleted(); |
432 default_pref_store_->SetInitializationCompleted(); | 491 default_pref_store_->SetInitializationCompleted(); |
433 Mock::VerifyAndClearExpectations(&pref_notifier_); | 492 Mock::VerifyAndClearExpectations(&pref_notifier_); |
434 | 493 |
435 // The notification should only be triggered after the last store is done. | 494 // The notification should only be triggered after the last store is done. |
436 EXPECT_CALL(pref_notifier_, OnInitializationCompleted(true)).Times(1); | 495 EXPECT_CALL(pref_notifier_, OnInitializationCompleted(true)).Times(1); |
437 user_pref_store_->SetInitializationCompleted(); | 496 user_pref_store_->SetInitializationCompleted(); |
438 Mock::VerifyAndClearExpectations(&pref_notifier_); | 497 Mock::VerifyAndClearExpectations(&pref_notifier_); |
439 } | 498 } |
440 | 499 |
441 TEST_F(PrefValueStoreTest, PrefValueInManagedStore) { | 500 TEST_F(PrefValueStoreTest, PrefValueInManagedStore) { |
442 EXPECT_TRUE(pref_value_store_->PrefValueInManagedStore( | 501 EXPECT_TRUE(pref_value_store_->PrefValueInManagedStore( |
443 prefs::kManagedPref)); | 502 prefs::kManagedPref)); |
444 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 503 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
| 504 prefs::kManagedUserPref)); |
| 505 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
445 prefs::kExtensionPref)); | 506 prefs::kExtensionPref)); |
446 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 507 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
447 prefs::kCommandLinePref)); | 508 prefs::kCommandLinePref)); |
448 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 509 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
449 prefs::kUserPref)); | 510 prefs::kUserPref)); |
450 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 511 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
451 prefs::kRecommendedPref)); | 512 prefs::kRecommendedPref)); |
452 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 513 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
453 prefs::kDefaultPref)); | 514 prefs::kDefaultPref)); |
454 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( | 515 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
455 prefs::kMissingPref)); | 516 prefs::kMissingPref)); |
456 } | 517 } |
457 | 518 |
458 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { | 519 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { |
459 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( | 520 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
460 prefs::kManagedPref)); | 521 prefs::kManagedPref)); |
461 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( | 522 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
| 523 prefs::kManagedUserPref)); |
| 524 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
462 prefs::kExtensionPref)); | 525 prefs::kExtensionPref)); |
463 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 526 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
464 prefs::kCommandLinePref)); | 527 prefs::kCommandLinePref)); |
465 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 528 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
466 prefs::kUserPref)); | 529 prefs::kUserPref)); |
467 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 530 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
468 prefs::kRecommendedPref)); | 531 prefs::kRecommendedPref)); |
469 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 532 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
470 prefs::kDefaultPref)); | 533 prefs::kDefaultPref)); |
471 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( | 534 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
472 prefs::kMissingPref)); | 535 prefs::kMissingPref)); |
473 } | 536 } |
474 | 537 |
475 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { | 538 TEST_F(PrefValueStoreTest, PrefValueInUserStore) { |
476 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 539 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
477 prefs::kManagedPref)); | 540 prefs::kManagedPref)); |
478 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 541 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
| 542 prefs::kManagedUserPref)); |
| 543 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
479 prefs::kExtensionPref)); | 544 prefs::kExtensionPref)); |
480 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 545 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
481 prefs::kCommandLinePref)); | 546 prefs::kCommandLinePref)); |
482 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( | 547 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
483 prefs::kUserPref)); | 548 prefs::kUserPref)); |
484 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( | 549 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( |
485 prefs::kRecommendedPref)); | 550 prefs::kRecommendedPref)); |
486 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( | 551 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( |
487 prefs::kDefaultPref)); | 552 prefs::kDefaultPref)); |
488 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( | 553 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore( |
489 prefs::kMissingPref)); | 554 prefs::kMissingPref)); |
490 } | 555 } |
491 | 556 |
492 TEST_F(PrefValueStoreTest, PrefValueFromExtensionStore) { | 557 TEST_F(PrefValueStoreTest, PrefValueFromExtensionStore) { |
493 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 558 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
494 prefs::kManagedPref)); | 559 prefs::kManagedPref)); |
| 560 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
| 561 prefs::kManagedUserPref)); |
495 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( | 562 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( |
496 prefs::kExtensionPref)); | 563 prefs::kExtensionPref)); |
497 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 564 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
498 prefs::kCommandLinePref)); | 565 prefs::kCommandLinePref)); |
499 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 566 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
500 prefs::kUserPref)); | 567 prefs::kUserPref)); |
501 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 568 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
502 prefs::kRecommendedPref)); | 569 prefs::kRecommendedPref)); |
503 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 570 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
504 prefs::kDefaultPref)); | 571 prefs::kDefaultPref)); |
505 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( | 572 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
506 prefs::kMissingPref)); | 573 prefs::kMissingPref)); |
507 } | 574 } |
508 | 575 |
509 TEST_F(PrefValueStoreTest, PrefValueFromUserStore) { | 576 TEST_F(PrefValueStoreTest, PrefValueFromUserStore) { |
510 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 577 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
511 prefs::kManagedPref)); | 578 prefs::kManagedPref)); |
512 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 579 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
| 580 prefs::kManagedUserPref)); |
| 581 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
513 prefs::kExtensionPref)); | 582 prefs::kExtensionPref)); |
514 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 583 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
515 prefs::kCommandLinePref)); | 584 prefs::kCommandLinePref)); |
516 EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore( | 585 EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore( |
517 prefs::kUserPref)); | 586 prefs::kUserPref)); |
518 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 587 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
519 prefs::kRecommendedPref)); | 588 prefs::kRecommendedPref)); |
520 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 589 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
521 prefs::kDefaultPref)); | 590 prefs::kDefaultPref)); |
522 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( | 591 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
523 prefs::kMissingPref)); | 592 prefs::kMissingPref)); |
524 } | 593 } |
525 | 594 |
526 TEST_F(PrefValueStoreTest, PrefValueFromRecommendedStore) { | 595 TEST_F(PrefValueStoreTest, PrefValueFromRecommendedStore) { |
527 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( | 596 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
528 prefs::kManagedPref)); | 597 prefs::kManagedPref)); |
529 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( | 598 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
| 599 prefs::kManagedUserPref)); |
| 600 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
530 prefs::kExtensionPref)); | 601 prefs::kExtensionPref)); |
531 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( | 602 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
532 prefs::kCommandLinePref)); | 603 prefs::kCommandLinePref)); |
533 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( | 604 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
534 prefs::kUserPref)); | 605 prefs::kUserPref)); |
535 EXPECT_TRUE(pref_value_store_->PrefValueFromRecommendedStore( | 606 EXPECT_TRUE(pref_value_store_->PrefValueFromRecommendedStore( |
536 prefs::kRecommendedPref)); | 607 prefs::kRecommendedPref)); |
537 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( | 608 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
538 prefs::kDefaultPref)); | 609 prefs::kDefaultPref)); |
539 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( | 610 EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
540 prefs::kMissingPref)); | 611 prefs::kMissingPref)); |
541 } | 612 } |
542 | 613 |
543 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { | 614 TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { |
544 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 615 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
545 prefs::kManagedPref)); | 616 prefs::kManagedPref)); |
546 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 617 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
| 618 prefs::kManagedUserPref)); |
| 619 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
547 prefs::kExtensionPref)); | 620 prefs::kExtensionPref)); |
548 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 621 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
549 prefs::kCommandLinePref)); | 622 prefs::kCommandLinePref)); |
550 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 623 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
551 prefs::kUserPref)); | 624 prefs::kUserPref)); |
552 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 625 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
553 prefs::kRecommendedPref)); | 626 prefs::kRecommendedPref)); |
554 EXPECT_TRUE(pref_value_store_->PrefValueFromDefaultStore( | 627 EXPECT_TRUE(pref_value_store_->PrefValueFromDefaultStore( |
555 prefs::kDefaultPref)); | 628 prefs::kDefaultPref)); |
556 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( | 629 EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
557 prefs::kMissingPref)); | 630 prefs::kMissingPref)); |
558 } | 631 } |
559 | 632 |
560 TEST_F(PrefValueStoreTest, PrefValueUserModifiable) { | 633 TEST_F(PrefValueStoreTest, PrefValueUserModifiable) { |
561 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( | 634 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
562 prefs::kManagedPref)); | 635 prefs::kManagedPref)); |
563 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( | 636 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
| 637 prefs::kManagedUserPref)); |
| 638 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
564 prefs::kExtensionPref)); | 639 prefs::kExtensionPref)); |
565 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( | 640 EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
566 prefs::kCommandLinePref)); | 641 prefs::kCommandLinePref)); |
567 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( | 642 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( |
568 prefs::kUserPref)); | 643 prefs::kUserPref)); |
569 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( | 644 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( |
570 prefs::kRecommendedPref)); | 645 prefs::kRecommendedPref)); |
571 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( | 646 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( |
572 prefs::kDefaultPref)); | 647 prefs::kDefaultPref)); |
573 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( | 648 EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable( |
574 prefs::kMissingPref)); | 649 prefs::kMissingPref)); |
575 } | 650 } |
576 | 651 |
577 TEST_F(PrefValueStoreTest, PrefValueExtensionModifiable) { | 652 TEST_F(PrefValueStoreTest, PrefValueExtensionModifiable) { |
578 EXPECT_FALSE(pref_value_store_->PrefValueExtensionModifiable( | 653 EXPECT_FALSE(pref_value_store_->PrefValueExtensionModifiable( |
579 prefs::kManagedPref)); | 654 prefs::kManagedPref)); |
| 655 EXPECT_FALSE(pref_value_store_->PrefValueExtensionModifiable( |
| 656 prefs::kManagedUserPref)); |
580 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( | 657 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( |
581 prefs::kExtensionPref)); | 658 prefs::kExtensionPref)); |
582 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( | 659 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( |
583 prefs::kCommandLinePref)); | 660 prefs::kCommandLinePref)); |
584 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( | 661 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( |
585 prefs::kUserPref)); | 662 prefs::kUserPref)); |
586 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( | 663 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( |
587 prefs::kRecommendedPref)); | 664 prefs::kRecommendedPref)); |
588 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( | 665 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( |
589 prefs::kDefaultPref)); | 666 prefs::kDefaultPref)); |
590 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( | 667 EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( |
591 prefs::kMissingPref)); | 668 prefs::kMissingPref)); |
592 } | 669 } |
OLD | NEW |