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 |
index b38c4acef1d30a4b9e23b530ee93ab4e399093e8..2e180c0f6a5e1f02a187d1b8dd1ec3d19f97bad2 100644 |
--- a/base/prefs/pref_value_store_unittest.cc |
+++ b/base/prefs/pref_value_store_unittest.cc |
@@ -37,6 +37,7 @@ class MockPrefModelAssociator { |
// Names of the preferences used in this test. |
namespace prefs { |
const char kManagedPref[] = "this.pref.managed"; |
+const char kManagedUserPref[] = "this.pref.managed_user"; |
const char kCommandLinePref[] = "this.pref.command_line"; |
const char kExtensionPref[] = "this.pref.extension"; |
const char kUserPref[] = "this.pref.user"; |
@@ -50,19 +51,27 @@ namespace managed_pref { |
const char kManagedValue[] = "managed:managed"; |
} |
+namespace managed_user_pref { |
+const char kManagedValue[] = "managed_user:managed"; |
+const char kManagedUserValue[] = "managed_user:managed_user"; |
+} |
+ |
namespace extension_pref { |
const char kManagedValue[] = "extension:managed"; |
+const char kManagedUserValue[] = "extension:managed_user"; |
const char kExtensionValue[] = "extension:extension"; |
} |
namespace command_line_pref { |
const char kManagedValue[] = "command_line:managed"; |
+const char kManagedUserValue[] = "command_line:managed_user"; |
const char kExtensionValue[] = "command_line:extension"; |
const char kCommandLineValue[] = "command_line:command_line"; |
} |
namespace user_pref { |
const char kManagedValue[] = "user:managed"; |
+const char kManagedUserValue[] = "managed_user:managed_user"; |
const char kExtensionValue[] = "user:extension"; |
const char kCommandLineValue[] = "user:command_line"; |
const char kUserValue[] = "user:user"; |
@@ -70,6 +79,7 @@ const char kUserValue[] = "user:user"; |
namespace recommended_pref { |
const char kManagedValue[] = "recommended:managed"; |
+const char kManagedUserValue[] = "recommended:managed_user"; |
const char kExtensionValue[] = "recommended:extension"; |
const char kCommandLineValue[] = "recommended:command_line"; |
const char kUserValue[] = "recommended:user"; |
@@ -78,6 +88,7 @@ const char kRecommendedValue[] = "recommended:recommended"; |
namespace default_pref { |
const char kManagedValue[] = "default:managed"; |
+const char kManagedUserValue[] = "default:managed_user"; |
const char kExtensionValue[] = "default:extension"; |
const char kCommandLineValue[] = "default:command_line"; |
const char kUserValue[] = "default:user"; |
@@ -90,6 +101,7 @@ class PrefValueStoreTest : public testing::Test { |
virtual void SetUp() { |
// Create TestingPrefStores. |
CreateManagedPrefs(); |
+ CreateManagedUserPrefs(); |
CreateExtensionPrefs(); |
CreateCommandLinePrefs(); |
CreateUserPrefs(); |
@@ -99,6 +111,7 @@ class PrefValueStoreTest : public testing::Test { |
// Create a fresh PrefValueStore. |
pref_value_store_.reset(new PrefValueStore(managed_pref_store_.get(), |
+ managed_user_pref_store_.get(), |
extension_pref_store_.get(), |
command_line_pref_store_.get(), |
user_pref_store_.get(), |
@@ -118,12 +131,25 @@ class PrefValueStoreTest : public testing::Test { |
managed_pref::kManagedValue); |
} |
+ void CreateManagedUserPrefs() { |
+ managed_user_pref_store_ = new TestingPrefStore; |
+ managed_user_pref_store_->SetString( |
+ prefs::kManagedPref, |
+ managed_user_pref::kManagedValue); |
+ managed_user_pref_store_->SetString( |
+ prefs::kManagedUserPref, |
+ managed_user_pref::kManagedUserValue); |
+ } |
+ |
void CreateExtensionPrefs() { |
extension_pref_store_ = new TestingPrefStore; |
extension_pref_store_->SetString( |
prefs::kManagedPref, |
extension_pref::kManagedValue); |
extension_pref_store_->SetString( |
+ prefs::kManagedUserPref, |
+ extension_pref::kManagedUserValue); |
+ extension_pref_store_->SetString( |
prefs::kExtensionPref, |
extension_pref::kExtensionValue); |
} |
@@ -134,6 +160,9 @@ class PrefValueStoreTest : public testing::Test { |
prefs::kManagedPref, |
command_line_pref::kManagedValue); |
command_line_pref_store_->SetString( |
+ prefs::kManagedUserPref, |
+ command_line_pref::kManagedUserValue); |
+ command_line_pref_store_->SetString( |
prefs::kExtensionPref, |
command_line_pref::kExtensionValue); |
command_line_pref_store_->SetString( |
@@ -147,6 +176,9 @@ class PrefValueStoreTest : public testing::Test { |
prefs::kManagedPref, |
user_pref::kManagedValue); |
user_pref_store_->SetString( |
+ prefs::kManagedUserPref, |
+ user_pref::kManagedUserValue); |
+ user_pref_store_->SetString( |
prefs::kCommandLinePref, |
user_pref::kCommandLineValue); |
user_pref_store_->SetString( |
@@ -163,6 +195,9 @@ class PrefValueStoreTest : public testing::Test { |
prefs::kManagedPref, |
recommended_pref::kManagedValue); |
recommended_pref_store_->SetString( |
+ prefs::kManagedUserPref, |
+ recommended_pref::kManagedUserValue); |
+ recommended_pref_store_->SetString( |
prefs::kCommandLinePref, |
recommended_pref::kCommandLineValue); |
recommended_pref_store_->SetString( |
@@ -179,6 +214,9 @@ class PrefValueStoreTest : public testing::Test { |
void CreateDefaultPrefs() { |
default_pref_store_ = new TestingPrefStore; |
default_pref_store_->SetString( |
+ prefs::kManagedUserPref, |
+ default_pref::kManagedUserValue); |
+ default_pref_store_->SetString( |
prefs::kManagedPref, |
default_pref::kManagedValue); |
default_pref_store_->SetString( |
@@ -213,6 +251,7 @@ class PrefValueStoreTest : public testing::Test { |
scoped_ptr<PrefValueStore> pref_value_store_; |
scoped_refptr<TestingPrefStore> managed_pref_store_; |
+ scoped_refptr<TestingPrefStore> managed_user_pref_store_; |
scoped_refptr<TestingPrefStore> extension_pref_store_; |
scoped_refptr<TestingPrefStore> command_line_pref_store_; |
scoped_refptr<TestingPrefStore> user_pref_store_; |
@@ -235,6 +274,13 @@ TEST_F(PrefValueStoreTest, GetValue) { |
EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
EXPECT_EQ(managed_pref::kManagedValue, actual_str_value); |
+ // Test getting a managed user value. |
+ value = NULL; |
+ ASSERT_TRUE(pref_value_store_->GetValue(prefs::kManagedUserPref, |
+ base::Value::TYPE_STRING, &value)); |
+ EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
+ EXPECT_EQ(managed_user_pref::kManagedUserValue, actual_str_value); |
+ |
// Test getting an extension value. |
value = NULL; |
ASSERT_TRUE(pref_value_store_->GetValue(prefs::kExtensionPref, |
@@ -296,6 +342,14 @@ TEST_F(PrefValueStoreTest, GetRecommendedValue) { |
EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
EXPECT_EQ(recommended_pref::kManagedValue, actual_str_value); |
+ // Test getting recommended value when a managed user value is present. |
+ value = NULL; |
+ ASSERT_TRUE(pref_value_store_->GetRecommendedValue( |
+ prefs::kManagedUserPref, |
+ base::Value::TYPE_STRING, &value)); |
+ EXPECT_TRUE(value->GetAsString(&actual_str_value)); |
+ EXPECT_EQ(recommended_pref::kManagedUserValue, actual_str_value); |
+ |
// Test getting recommended value when an extension value is present. |
value = NULL; |
ASSERT_TRUE(pref_value_store_->GetRecommendedValue( |
@@ -353,6 +407,10 @@ TEST_F(PrefValueStoreTest, PrefChanges) { |
CheckAndClearValueChangeNotifications(); |
ExpectValueChangeNotifications(prefs::kManagedPref); |
+ managed_user_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); |
+ CheckAndClearValueChangeNotifications(); |
+ |
+ ExpectValueChangeNotifications(prefs::kManagedPref); |
extension_pref_store_->NotifyPrefValueChanged(prefs::kManagedPref); |
CheckAndClearValueChangeNotifications(); |
@@ -426,6 +484,7 @@ TEST_F(PrefValueStoreTest, PrefChanges) { |
TEST_F(PrefValueStoreTest, OnInitializationCompleted) { |
EXPECT_CALL(pref_notifier_, OnInitializationCompleted(true)).Times(0); |
managed_pref_store_->SetInitializationCompleted(); |
+ managed_user_pref_store_->SetInitializationCompleted(); |
extension_pref_store_->SetInitializationCompleted(); |
command_line_pref_store_->SetInitializationCompleted(); |
recommended_pref_store_->SetInitializationCompleted(); |
@@ -442,6 +501,8 @@ TEST_F(PrefValueStoreTest, PrefValueInManagedStore) { |
EXPECT_TRUE(pref_value_store_->PrefValueInManagedStore( |
prefs::kManagedPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
+ prefs::kManagedUserPref)); |
+ EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
prefs::kExtensionPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueInManagedStore( |
prefs::kCommandLinePref)); |
@@ -459,6 +520,8 @@ TEST_F(PrefValueStoreTest, PrefValueInExtensionStore) { |
EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
prefs::kManagedPref)); |
EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
+ prefs::kManagedUserPref)); |
+ EXPECT_TRUE(pref_value_store_->PrefValueInExtensionStore( |
prefs::kExtensionPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueInExtensionStore( |
prefs::kCommandLinePref)); |
@@ -476,6 +539,8 @@ TEST_F(PrefValueStoreTest, PrefValueInUserStore) { |
EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
prefs::kManagedPref)); |
EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
+ prefs::kManagedUserPref)); |
+ EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
prefs::kExtensionPref)); |
EXPECT_TRUE(pref_value_store_->PrefValueInUserStore( |
prefs::kCommandLinePref)); |
@@ -492,6 +557,8 @@ TEST_F(PrefValueStoreTest, PrefValueInUserStore) { |
TEST_F(PrefValueStoreTest, PrefValueFromExtensionStore) { |
EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
prefs::kManagedPref)); |
+ EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
+ prefs::kManagedUserPref)); |
EXPECT_TRUE(pref_value_store_->PrefValueFromExtensionStore( |
prefs::kExtensionPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueFromExtensionStore( |
@@ -510,6 +577,8 @@ TEST_F(PrefValueStoreTest, PrefValueFromUserStore) { |
EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
prefs::kManagedPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
+ prefs::kManagedUserPref)); |
+ EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
prefs::kExtensionPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueFromUserStore( |
prefs::kCommandLinePref)); |
@@ -527,6 +596,8 @@ TEST_F(PrefValueStoreTest, PrefValueFromRecommendedStore) { |
EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
prefs::kManagedPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
+ prefs::kManagedUserPref)); |
+ EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
prefs::kExtensionPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueFromRecommendedStore( |
prefs::kCommandLinePref)); |
@@ -544,6 +615,8 @@ TEST_F(PrefValueStoreTest, PrefValueFromDefaultStore) { |
EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
prefs::kManagedPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
+ prefs::kManagedUserPref)); |
+ EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
prefs::kExtensionPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueFromDefaultStore( |
prefs::kCommandLinePref)); |
@@ -561,6 +634,8 @@ TEST_F(PrefValueStoreTest, PrefValueUserModifiable) { |
EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
prefs::kManagedPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
+ prefs::kManagedUserPref)); |
+ EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
prefs::kExtensionPref)); |
EXPECT_FALSE(pref_value_store_->PrefValueUserModifiable( |
prefs::kCommandLinePref)); |
@@ -577,6 +652,8 @@ TEST_F(PrefValueStoreTest, PrefValueUserModifiable) { |
TEST_F(PrefValueStoreTest, PrefValueExtensionModifiable) { |
EXPECT_FALSE(pref_value_store_->PrefValueExtensionModifiable( |
prefs::kManagedPref)); |
+ EXPECT_FALSE(pref_value_store_->PrefValueExtensionModifiable( |
+ prefs::kManagedUserPref)); |
EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( |
prefs::kExtensionPref)); |
EXPECT_TRUE(pref_value_store_->PrefValueExtensionModifiable( |