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

Side by Side Diff: chrome/browser/pref_value_store_unittest.cc

Issue 2989002: Add methods for determining which PrefStore contains a given preference, and ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 5 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
« no previous file with comments | « chrome/browser/pref_value_store.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "app/test/data/resource.h" 5 #include "app/test/data/resource.h"
6 #include "base/scoped_ptr.h" 6 #include "base/scoped_ptr.h"
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "chrome/browser/dummy_pref_store.h" 8 #include "chrome/browser/dummy_pref_store.h"
9 #include "chrome/browser/pref_value_store.h" 9 #include "chrome/browser/pref_value_store.h"
10 10
11 #include "testing/gmock/include/gmock/gmock.h" 11 #include "testing/gmock/include/gmock/gmock.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 using testing::_; 14 using testing::_;
15 using testing::Mock; 15 using testing::Mock;
16 16
17 // Names of the preferences used in this test program. 17 // Names of the preferences used in this test program.
18 namespace prefs { 18 namespace prefs {
19 const wchar_t kCurrentThemeID[] = L"extensions.theme.id"; 19 const wchar_t kCurrentThemeID[] = L"extensions.theme.id";
20 const wchar_t kDeleteCache[] = L"browser.clear_data.cache"; 20 const wchar_t kDeleteCache[] = L"browser.clear_data.cache";
21 const wchar_t kExtensionPref[] = L"extension.pref";
22 const wchar_t kHomepage[] = L"homepage"; 21 const wchar_t kHomepage[] = L"homepage";
23 const wchar_t kMaxTabs[] = L"tabs.max_tabs"; 22 const wchar_t kMaxTabs[] = L"tabs.max_tabs";
24 const wchar_t kMissingPref[] = L"this.pref.does_not_exist"; 23 const wchar_t kMissingPref[] = L"this.pref.does_not_exist";
25 const wchar_t kRecommendedPref[] = L"this.pref.recommended_value_only"; 24 const wchar_t kRecommendedPref[] = L"this.pref.recommended_value_only";
26 const wchar_t kSampleDict[] = L"sample.dict"; 25 const wchar_t kSampleDict[] = L"sample.dict";
27 const wchar_t kSampleList[] = L"sample.list"; 26 const wchar_t kSampleList[] = L"sample.list";
28 } 27 }
29 28
30 // Potentailly expected values of all preferences used in this test program. 29 // Potentailly expected values of all preferences used in this test program.
31 // The "user" namespace is defined globally in an ARM system header, so we need 30 // The "user" namespace is defined globally in an ARM system header, so we need
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 user_pref_store_->set_prefs_written(false); 229 user_pref_store_->set_prefs_written(false);
231 pref_value_store_->WritePrefs(); 230 pref_value_store_->WritePrefs();
232 ASSERT_TRUE(user_pref_store_->get_prefs_written()); 231 ASSERT_TRUE(user_pref_store_->get_prefs_written());
233 } 232 }
234 233
235 TEST_F(PrefValueStoreTest, SetUserPrefValue) { 234 TEST_F(PrefValueStoreTest, SetUserPrefValue) {
236 Value* new_value = NULL; 235 Value* new_value = NULL;
237 Value* actual_value = NULL; 236 Value* actual_value = NULL;
238 237
239 // Test that enforced values can not be set. 238 // Test that enforced values can not be set.
240 ASSERT_TRUE(pref_value_store_->PrefValueIsManaged(prefs::kHomepage)); 239 ASSERT_TRUE(pref_value_store_->PrefValueInManagedStore(prefs::kHomepage));
241 // The Ownership is tranfered to |PrefValueStore|. 240 // The Ownership is tranfered to |PrefValueStore|.
242 new_value = Value::CreateStringValue(L"http://www.youtube.com"); 241 new_value = Value::CreateStringValue(L"http://www.youtube.com");
243 pref_value_store_->SetUserPrefValue(prefs::kHomepage, new_value); 242 pref_value_store_->SetUserPrefValue(prefs::kHomepage, new_value);
244 243
245 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomepage, &actual_value)); 244 ASSERT_TRUE(pref_value_store_->GetValue(prefs::kHomepage, &actual_value));
246 std::wstring value_str; 245 std::wstring value_str;
247 actual_value->GetAsString(&value_str); 246 actual_value->GetAsString(&value_str);
248 ASSERT_EQ(enforced_pref::kHomepageValue, value_str); 247 ASSERT_EQ(enforced_pref::kHomepageValue, value_str);
249 248
250 // User preferences values can be set 249 // User preferences values can be set
251 ASSERT_FALSE(pref_value_store_->PrefValueIsManaged(prefs::kMaxTabs)); 250 ASSERT_FALSE(pref_value_store_->PrefValueInManagedStore(prefs::kMaxTabs));
252 actual_value = NULL; 251 actual_value = NULL;
253 pref_value_store_->GetValue(prefs::kMaxTabs, &actual_value); 252 pref_value_store_->GetValue(prefs::kMaxTabs, &actual_value);
254 int int_value; 253 int int_value;
255 EXPECT_TRUE(actual_value->GetAsInteger(&int_value)); 254 EXPECT_TRUE(actual_value->GetAsInteger(&int_value));
256 EXPECT_EQ(user_pref::kMaxTabsValue, int_value); 255 EXPECT_EQ(user_pref::kMaxTabsValue, int_value);
257 256
258 new_value = Value::CreateIntegerValue(1); 257 new_value = Value::CreateIntegerValue(1);
259 pref_value_store_->SetUserPrefValue(prefs::kMaxTabs, new_value); 258 pref_value_store_->SetUserPrefValue(prefs::kMaxTabs, new_value);
260 actual_value = NULL; 259 actual_value = NULL;
261 pref_value_store_->GetValue(prefs::kMaxTabs, &actual_value); 260 pref_value_store_->GetValue(prefs::kMaxTabs, &actual_value);
(...skipping 15 matching lines...) Expand all
277 pref_value_store_->SetUserPrefValue(prefs::kSampleList, expected_list_value); 276 pref_value_store_->SetUserPrefValue(prefs::kSampleList, expected_list_value);
278 277
279 actual_value = NULL; 278 actual_value = NULL;
280 key = prefs::kSampleList; 279 key = prefs::kSampleList;
281 pref_value_store_->GetValue(key, &actual_value); 280 pref_value_store_->GetValue(key, &actual_value);
282 281
283 ASSERT_EQ(expected_list_value, actual_value); 282 ASSERT_EQ(expected_list_value, actual_value);
284 ASSERT_TRUE(expected_list_value->Equals(actual_value)); 283 ASSERT_TRUE(expected_list_value->Equals(actual_value));
285 } 284 }
286 285
287 TEST_F(PrefValueStoreTest, PrefValueIsManaged) { 286 TEST_F(PrefValueStoreTest, PrefValueInManagedStore) {
288 // Test an enforced preference. 287 // Test an enforced preference.
289 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomepage)); 288 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomepage));
290 EXPECT_TRUE(pref_value_store_->PrefValueIsManaged(prefs::kHomepage)); 289 EXPECT_TRUE(pref_value_store_->PrefValueInManagedStore(prefs::kHomepage));
290
291 // Test an extension preference.
292 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID));
293 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(
294 prefs::kCurrentThemeID));
291 295
292 // Test a user preference. 296 // Test a user preference.
293 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kMaxTabs)); 297 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kMaxTabs));
294 EXPECT_FALSE(pref_value_store_->PrefValueIsManaged(prefs::kMaxTabs)); 298 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(prefs::kMaxTabs));
295 299
296 // Test a preference from the recommended pref store. 300 // Test a preference from the recommended pref store.
297 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref)); 301 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref));
298 EXPECT_FALSE(pref_value_store_->PrefValueIsManaged(prefs::kRecommendedPref)); 302 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(
303 prefs::kRecommendedPref));
299 304
300 // Test a preference for which the PrefValueStore does not contain a value. 305 // Test a preference for which the PrefValueStore does not contain a value.
301 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref)); 306 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref));
302 EXPECT_FALSE(pref_value_store_->PrefValueIsManaged(prefs::kMissingPref)); 307 EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(prefs::kMissingPref));
303 } 308 }
304 309
310 TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) {
311 // Test an enforced preference.
312 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomepage));
313 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(prefs::kHomepage));
314 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
315 prefs::kHomepage));
316
317 // Test an extension preference.
318 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID));
319 EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(
320 prefs::kCurrentThemeID));
321 EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore(
322 prefs::kCurrentThemeID));
323
324 // Test a user preference.
325 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kMaxTabs));
326 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore(prefs::kMaxTabs));
327 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(prefs::kMaxTabs));
328
329 // Test a preference from the recommended pref store.
330 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref));
331 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore(
332 prefs::kRecommendedPref));
333 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
334 prefs::kRecommendedPref));
335
336 // Test a preference for which the PrefValueStore does not contain a value.
337 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref));
338 EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore(
339 prefs::kMissingPref));
340 EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
341 prefs::kMissingPref));
342 }
343
344 TEST_F(PrefValueStoreTest, PrefValueInUserStore) {
345 // Test an enforced preference.
346 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kHomepage));
347 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(prefs::kHomepage));
348 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kHomepage));
349
350 // Test an extension preference.
351 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kCurrentThemeID));
352 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(
353 prefs::kCurrentThemeID));
354 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(
355 prefs::kCurrentThemeID));
356
357 // Test a user preference.
358 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kMaxTabs));
359 EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(prefs::kMaxTabs));
360 EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore(prefs::kMaxTabs));
361
362 // Test a preference from the recommended pref store.
363 ASSERT_TRUE(pref_value_store_->HasPrefPath(prefs::kRecommendedPref));
364 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(
365 prefs::kRecommendedPref));
366 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(
367 prefs::kRecommendedPref));
368
369 // Test a preference for which the PrefValueStore does not contain a value.
370 ASSERT_FALSE(pref_value_store_->HasPrefPath(prefs::kMissingPref));
371 EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(prefs::kMissingPref));
372 EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(prefs::kMissingPref));
373 }
OLDNEW
« no previous file with comments | « chrome/browser/pref_value_store.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698