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

Unified Diff: base/prefs/pref_value_store_unittest.cc

Issue 1645073005: Revert of Move base/prefs to components/prefs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/prefs/pref_value_store.cc ('k') | base/prefs/scoped_user_pref_update.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/prefs/pref_value_store_unittest.cc
diff --git a/base/prefs/pref_value_store_unittest.cc b/base/prefs/pref_value_store_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..e214adfa1c7f50312666d96d3aedcf848b56a443
--- /dev/null
+++ b/base/prefs/pref_value_store_unittest.cc
@@ -0,0 +1,670 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <string>
+
+#include "base/bind.h"
+#include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
+#include "base/prefs/pref_notifier.h"
+#include "base/prefs/pref_value_store.h"
+#include "base/prefs/testing_pref_store.h"
+#include "base/values.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using testing::Mock;
+using testing::_;
+
+namespace {
+
+// Allows to capture pref notifications through gmock.
+class MockPrefNotifier : public PrefNotifier {
+ public:
+ MOCK_METHOD1(OnPreferenceChanged, void(const std::string&));
+ MOCK_METHOD1(OnInitializationCompleted, void(bool));
+};
+
+// Allows to capture sync model associator interaction.
+class MockPrefModelAssociator {
+ public:
+ MOCK_METHOD1(ProcessPrefChange, void(const std::string&));
+};
+
+} // namespace
+
+// Names of the preferences used in this test.
+namespace prefs {
+const char kManagedPref[] = "this.pref.managed";
+const char kSupervisedUserPref[] = "this.pref.supervised_user";
+const char kCommandLinePref[] = "this.pref.command_line";
+const char kExtensionPref[] = "this.pref.extension";
+const char kUserPref[] = "this.pref.user";
+const char kRecommendedPref[] = "this.pref.recommended";
+const char kDefaultPref[] = "this.pref.default";
+const char kMissingPref[] = "this.pref.does_not_exist";
+}
+
+// Potentially expected values of all preferences used in this test program.
+namespace managed_pref {
+const char kManagedValue[] = "managed:managed";
+}
+
+namespace supervised_user_pref {
+const char kManagedValue[] = "supervised_user:managed";
+const char kSupervisedUserValue[] = "supervised_user:supervised_user";
+}
+
+namespace extension_pref {
+const char kManagedValue[] = "extension:managed";
+const char kSupervisedUserValue[] = "extension:supervised_user";
+const char kExtensionValue[] = "extension:extension";
+}
+
+namespace command_line_pref {
+const char kManagedValue[] = "command_line:managed";
+const char kSupervisedUserValue[] = "command_line:supervised_user";
+const char kExtensionValue[] = "command_line:extension";
+const char kCommandLineValue[] = "command_line:command_line";
+}
+
+namespace user_pref {
+const char kManagedValue[] = "user:managed";
+const char kSupervisedUserValue[] = "supervised_user:supervised_user";
+const char kExtensionValue[] = "user:extension";
+const char kCommandLineValue[] = "user:command_line";
+const char kUserValue[] = "user:user";
+}
+
+namespace recommended_pref {
+const char kManagedValue[] = "recommended:managed";
+const char kSupervisedUserValue[] = "recommended:supervised_user";
+const char kExtensionValue[] = "recommended:extension";
+const char kCommandLineValue[] = "recommended:command_line";
+const char kUserValue[] = "recommended:user";
+const char kRecommendedValue[] = "recommended:recommended";
+}
+
+namespace default_pref {
+const char kManagedValue[] = "default:managed";
+const char kSupervisedUserValue[] = "default:supervised_user";
+const char kExtensionValue[] = "default:extension";
+const char kCommandLineValue[] = "default:command_line";
+const char kUserValue[] = "default:user";
+const char kRecommendedValue[] = "default:recommended";
+const char kDefaultValue[] = "default:default";
+}
+
+class PrefValueStoreTest : public testing::Test {
+ protected:
+ void SetUp() override {
+ // Create TestingPrefStores.
+ CreateManagedPrefs();
+ CreateSupervisedUserPrefs();
+ CreateExtensionPrefs();
+ CreateCommandLinePrefs();
+ CreateUserPrefs();
+ CreateRecommendedPrefs();
+ CreateDefaultPrefs();
+ sync_associator_.reset(new MockPrefModelAssociator());
+
+ // Create a fresh PrefValueStore.
+ pref_value_store_.reset(
+ new PrefValueStore(managed_pref_store_.get(),
+ supervised_user_pref_store_.get(),
+ extension_pref_store_.get(),
+ command_line_pref_store_.get(),
+ user_pref_store_.get(),
+ recommended_pref_store_.get(),
+ default_pref_store_.get(),
+ &pref_notifier_));
+
+ pref_value_store_->set_callback(
+ base::Bind(&MockPrefModelAssociator::ProcessPrefChange,
+ base::Unretained(sync_associator_.get())));
+ }
+
+ void CreateManagedPrefs() {
+ managed_pref_store_ = new TestingPrefStore;
+ managed_pref_store_->SetString(
+ prefs::kManagedPref,
+ managed_pref::kManagedValue);
+ }
+
+ void CreateSupervisedUserPrefs() {
+ supervised_user_pref_store_ = new TestingPrefStore;
+ supervised_user_pref_store_->SetString(
+ prefs::kManagedPref,
+ supervised_user_pref::kManagedValue);
+ supervised_user_pref_store_->SetString(
+ prefs::kSupervisedUserPref,
+ supervised_user_pref::kSupervisedUserValue);
+ }
+
+ void CreateExtensionPrefs() {
+ extension_pref_store_ = new TestingPrefStore;
+ extension_pref_store_->SetString(
+ prefs::kManagedPref,
+ extension_pref::kManagedValue);
+ extension_pref_store_->SetString(
+ prefs::kSupervisedUserPref,
+ extension_pref::kSupervisedUserValue);
+ extension_pref_store_->SetString(
+ prefs::kExtensionPref,
+ extension_pref::kExtensionValue);
+ }
+
+ void CreateCommandLinePrefs() {
+ command_line_pref_store_ = new TestingPrefStore;
+ command_line_pref_store_->SetString(
+ prefs::kManagedPref,
+ command_line_pref::kManagedValue);
+ command_line_pref_store_->SetString(
+ prefs::kSupervisedUserPref,
+ command_line_pref::kSupervisedUserValue);
+ command_line_pref_store_->SetString(
+ prefs::kExtensionPref,
+ command_line_pref::kExtensionValue);
+ command_line_pref_store_->SetString(
+ prefs::kCommandLinePref,
+ command_line_pref::kCommandLineValue);
+ }
+
+ void CreateUserPrefs() {
+ user_pref_store_ = new TestingPrefStore;
+ user_pref_store_->SetString(
+ prefs::kManagedPref,
+ user_pref::kManagedValue);
+ user_pref_store_->SetString(
+ prefs::kSupervisedUserPref,
+ user_pref::kSupervisedUserValue);
+ user_pref_store_->SetString(
+ prefs::kCommandLinePref,
+ user_pref::kCommandLineValue);
+ user_pref_store_->SetString(
+ prefs::kExtensionPref,
+ user_pref::kExtensionValue);
+ user_pref_store_->SetString(
+ prefs::kUserPref,
+ user_pref::kUserValue);
+ }
+
+ void CreateRecommendedPrefs() {
+ recommended_pref_store_ = new TestingPrefStore;
+ recommended_pref_store_->SetString(
+ prefs::kManagedPref,
+ recommended_pref::kManagedValue);
+ recommended_pref_store_->SetString(
+ prefs::kSupervisedUserPref,
+ recommended_pref::kSupervisedUserValue);
+ recommended_pref_store_->SetString(
+ prefs::kCommandLinePref,
+ recommended_pref::kCommandLineValue);
+ recommended_pref_store_->SetString(
+ prefs::kExtensionPref,
+ recommended_pref::kExtensionValue);
+ recommended_pref_store_->SetString(
+ prefs::kUserPref,
+ recommended_pref::kUserValue);
+ recommended_pref_store_->SetString(
+ prefs::kRecommendedPref,
+ recommended_pref::kRecommendedValue);
+ }
+
+ void CreateDefaultPrefs() {
+ default_pref_store_ = new TestingPrefStore;
+ default_pref_store_->SetString(
+ prefs::kSupervisedUserPref,
+ default_pref::kSupervisedUserValue);
+ default_pref_store_->SetString(
+ prefs::kManagedPref,
+ default_pref::kManagedValue);
+ default_pref_store_->SetString(
+ prefs::kCommandLinePref,
+ default_pref::kCommandLineValue);
+ default_pref_store_->SetString(
+ prefs::kExtensionPref,
+ default_pref::kExtensionValue);
+ default_pref_store_->SetString(
+ prefs::kUserPref,
+ default_pref::kUserValue);
+ default_pref_store_->SetString(
+ prefs::kRecommendedPref,
+ default_pref::kRecommendedValue);
+ default_pref_store_->SetString(
+ prefs::kDefaultPref,
+ default_pref::kDefaultValue);
+ }
+
+ void ExpectValueChangeNotifications(const std::string& name) {
+ EXPECT_CALL(pref_notifier_, OnPreferenceChanged(name));
+ EXPECT_CALL(*sync_associator_, ProcessPrefChange(name));
+ }
+
+ void CheckAndClearValueChangeNotifications() {
+ Mock::VerifyAndClearExpectations(&pref_notifier_);
+ Mock::VerifyAndClearExpectations(sync_associator_.get());
+ }
+
+ MockPrefNotifier pref_notifier_;
+ scoped_ptr<MockPrefModelAssociator> sync_associator_;
+ scoped_ptr<PrefValueStore> pref_value_store_;
+
+ scoped_refptr<TestingPrefStore> managed_pref_store_;
+ scoped_refptr<TestingPrefStore> supervised_user_pref_store_;
+ scoped_refptr<TestingPrefStore> extension_pref_store_;
+ scoped_refptr<TestingPrefStore> command_line_pref_store_;
+ scoped_refptr<TestingPrefStore> user_pref_store_;
+ scoped_refptr<TestingPrefStore> recommended_pref_store_;
+ scoped_refptr<TestingPrefStore> default_pref_store_;
+};
+
+TEST_F(PrefValueStoreTest, GetValue) {
+ const base::Value* value;
+
+ // The following tests read a value from the PrefService. The preferences are
+ // set in a way such that all lower-priority stores have a value and we can
+ // test whether overrides work correctly.
+
+ // Test getting a managed value.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetValue(prefs::kManagedPref,
+ base::Value::TYPE_STRING, &value));
+ std::string actual_str_value;
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(managed_pref::kManagedValue, actual_str_value);
+
+ // Test getting a supervised user value.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetValue(prefs::kSupervisedUserPref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(supervised_user_pref::kSupervisedUserValue, actual_str_value);
+
+ // Test getting an extension value.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetValue(prefs::kExtensionPref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(extension_pref::kExtensionValue, actual_str_value);
+
+ // Test getting a command-line value.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetValue(prefs::kCommandLinePref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(command_line_pref::kCommandLineValue, actual_str_value);
+
+ // Test getting a user-set value.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetValue(prefs::kUserPref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(user_pref::kUserValue, actual_str_value);
+
+ // Test getting a user set value overwriting a recommended value.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetValue(prefs::kRecommendedPref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(recommended_pref::kRecommendedValue,
+ actual_str_value);
+
+ // Test getting a default value.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetValue(prefs::kDefaultPref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(default_pref::kDefaultValue, actual_str_value);
+
+ // Test getting a preference value that the |PrefValueStore|
+ // does not contain.
+ base::FundamentalValue tmp_dummy_value(true);
+ value = &tmp_dummy_value;
+ ASSERT_FALSE(pref_value_store_->GetValue(prefs::kMissingPref,
+ base::Value::TYPE_STRING, &value));
+ ASSERT_FALSE(value);
+}
+
+TEST_F(PrefValueStoreTest, GetRecommendedValue) {
+ const base::Value* value;
+
+ // The following tests read a value from the PrefService. The preferences are
+ // set in a way such that all lower-priority stores have a value and we can
+ // test whether overrides do not clutter the recommended value.
+
+ // Test getting recommended value when a managed value is present.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetRecommendedValue(
+ prefs::kManagedPref,
+ base::Value::TYPE_STRING, &value));
+ std::string actual_str_value;
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(recommended_pref::kManagedValue, actual_str_value);
+
+ // Test getting recommended value when a supervised user value is present.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetRecommendedValue(
+ prefs::kSupervisedUserPref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(recommended_pref::kSupervisedUserValue, actual_str_value);
+
+ // Test getting recommended value when an extension value is present.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetRecommendedValue(
+ prefs::kExtensionPref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(recommended_pref::kExtensionValue, actual_str_value);
+
+ // Test getting recommended value when a command-line value is present.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetRecommendedValue(
+ prefs::kCommandLinePref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(recommended_pref::kCommandLineValue, actual_str_value);
+
+ // Test getting recommended value when a user-set value is present.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetRecommendedValue(
+ prefs::kUserPref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(recommended_pref::kUserValue, actual_str_value);
+
+ // Test getting recommended value when no higher-priority value is present.
+ value = NULL;
+ ASSERT_TRUE(pref_value_store_->GetRecommendedValue(
+ prefs::kRecommendedPref,
+ base::Value::TYPE_STRING, &value));
+ EXPECT_TRUE(value->GetAsString(&actual_str_value));
+ EXPECT_EQ(recommended_pref::kRecommendedValue,
+ actual_str_value);
+
+ // Test getting recommended value when no recommended value is present.
+ base::FundamentalValue tmp_dummy_value(true);
+ value = &tmp_dummy_value;
+ ASSERT_FALSE(pref_value_store_->GetRecommendedValue(
+ prefs::kDefaultPref,
+ base::Value::TYPE_STRING, &value));
+ ASSERT_FALSE(value);
+
+ // Test getting a preference value that the |PrefValueStore|
+ // does not contain.
+ value = &tmp_dummy_value;
+ ASSERT_FALSE(pref_value_store_->GetRecommendedValue(
+ prefs::kMissingPref,
+ base::Value::TYPE_STRING, &value));
+ ASSERT_FALSE(value);
+}
+
+TEST_F(PrefValueStoreTest, PrefChanges) {
+ // Check pref controlled by highest-priority store.
+ ExpectValueChangeNotifications(prefs::kManagedPref);
+ managed_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kManagedPref);
+ supervised_user_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kManagedPref);
+ extension_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kManagedPref);
+ command_line_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kManagedPref);
+ user_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kManagedPref);
+ recommended_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kManagedPref);
+ default_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref);
+ CheckAndClearValueChangeNotifications();
+
+ // Check pref controlled by user store.
+ ExpectValueChangeNotifications(prefs::kUserPref);
+ managed_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kUserPref);
+ extension_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kUserPref);
+ command_line_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kUserPref);
+ user_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kUserPref);
+ recommended_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kUserPref);
+ default_pref_store_->NotifyPrefValueChanged(prefs::kUserPref);
+ CheckAndClearValueChangeNotifications();
+
+ // Check pref controlled by default-pref store.
+ ExpectValueChangeNotifications(prefs::kDefaultPref);
+ managed_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kDefaultPref);
+ extension_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kDefaultPref);
+ command_line_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kDefaultPref);
+ user_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kDefaultPref);
+ recommended_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
+ CheckAndClearValueChangeNotifications();
+
+ ExpectValueChangeNotifications(prefs::kDefaultPref);
+ default_pref_store_->NotifyPrefValueChanged(prefs::kDefaultPref);
+ CheckAndClearValueChangeNotifications();
+}
+
+TEST_F(PrefValueStoreTest, OnInitializationCompleted) {
+ EXPECT_CALL(pref_notifier_, OnInitializationCompleted(true)).Times(0);
+ managed_pref_store_->SetInitializationCompleted();
+ supervised_user_pref_store_->SetInitializationCompleted();
+ extension_pref_store_->SetInitializationCompleted();
+ command_line_pref_store_->SetInitializationCompleted();
+ recommended_pref_store_->SetInitializationCompleted();
+ default_pref_store_->SetInitializationCompleted();
+ Mock::VerifyAndClearExpectations(&pref_notifier_);
+
+ // The notification should only be triggered after the last store is done.
+ EXPECT_CALL(pref_notifier_, OnInitializationCompleted(true)).Times(1);
+ user_pref_store_->SetInitializationCompleted();
+ Mock::VerifyAndClearExpectations(&pref_notifier_);
+}
+
+TEST_F(PrefValueStoreTest, PrefValueInManagedStore) {
+ EXPECT_TRUE(pref_value_store_->PrefValueInManagedStore(
+ prefs::kManagedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(
+ prefs::kSupervisedUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(
+ prefs::kExtensionPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(
+ prefs::kCommandLinePref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(
+ prefs::kUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(
+ prefs::kRecommendedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(
+ prefs::kDefaultPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore(
+ prefs::kMissingPref));
+}
+
+TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) {
+ EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(
+ prefs::kManagedPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(
+ prefs::kSupervisedUserPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore(
+ prefs::kExtensionPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore(
+ prefs::kCommandLinePref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore(
+ prefs::kUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore(
+ prefs::kRecommendedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore(
+ prefs::kDefaultPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore(
+ prefs::kMissingPref));
+}
+
+TEST_F(PrefValueStoreTest, PrefValueInUserStore) {
+ EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(
+ prefs::kManagedPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(
+ prefs::kSupervisedUserPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(
+ prefs::kExtensionPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(
+ prefs::kCommandLinePref));
+ EXPECT_TRUE(pref_value_store_->PrefValueInUserStore(
+ prefs::kUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(
+ prefs::kRecommendedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(
+ prefs::kDefaultPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueInUserStore(
+ prefs::kMissingPref));
+}
+
+TEST_F(PrefValueStoreTest, PrefValueFromExtensionStore) {
+ EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
+ prefs::kManagedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
+ prefs::kSupervisedUserPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore(
+ prefs::kExtensionPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
+ prefs::kCommandLinePref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
+ prefs::kUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
+ prefs::kRecommendedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
+ prefs::kDefaultPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore(
+ prefs::kMissingPref));
+}
+
+TEST_F(PrefValueStoreTest, PrefValueFromUserStore) {
+ EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(
+ prefs::kManagedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(
+ prefs::kSupervisedUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(
+ prefs::kExtensionPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(
+ prefs::kCommandLinePref));
+ EXPECT_TRUE(pref_value_store_->PrefValueFromUserStore(
+ prefs::kUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(
+ prefs::kRecommendedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(
+ prefs::kDefaultPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore(
+ prefs::kMissingPref));
+}
+
+TEST_F(PrefValueStoreTest, PrefValueFromRecommendedStore) {
+ EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore(
+ prefs::kManagedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore(
+ prefs::kSupervisedUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore(
+ prefs::kExtensionPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore(
+ prefs::kCommandLinePref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore(
+ prefs::kUserPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueFromRecommendedStore(
+ prefs::kRecommendedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore(
+ prefs::kDefaultPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore(
+ prefs::kMissingPref));
+}
+
+TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) {
+ EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(
+ prefs::kManagedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(
+ prefs::kSupervisedUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(
+ prefs::kExtensionPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(
+ prefs::kCommandLinePref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(
+ prefs::kUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(
+ prefs::kRecommendedPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueFromDefaultStore(
+ prefs::kDefaultPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore(
+ prefs::kMissingPref));
+}
+
+TEST_F(PrefValueStoreTest, PrefValueUserModifiable) {
+ EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable(
+ prefs::kManagedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable(
+ prefs::kSupervisedUserPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable(
+ prefs::kExtensionPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable(
+ prefs::kCommandLinePref));
+ EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable(
+ prefs::kUserPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable(
+ prefs::kRecommendedPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable(
+ prefs::kDefaultPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueUserModifiable(
+ prefs::kMissingPref));
+}
+
+TEST_F(PrefValueStoreTest, PrefValueExtensionModifiable) {
+ EXPECT_FALSE(pref_value_store_->PrefValueExtensionModifiable(
+ prefs::kManagedPref));
+ EXPECT_FALSE(pref_value_store_->PrefValueExtensionModifiable(
+ prefs::kSupervisedUserPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable(
+ prefs::kExtensionPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable(
+ prefs::kCommandLinePref));
+ EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable(
+ prefs::kUserPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable(
+ prefs::kRecommendedPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable(
+ prefs::kDefaultPref));
+ EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable(
+ prefs::kMissingPref));
+}
« no previous file with comments | « base/prefs/pref_value_store.cc ('k') | base/prefs/scoped_user_pref_update.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698