Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: base/prefs/pref_value_store_unittest.cc

Issue 23592013: Add support for a managed user pref store to PrefService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698