| 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));
|
| +}
|
|
|