OLD | NEW |
(Empty) | |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "base/bind.h" |
| 6 #include "base/callback.h" |
| 7 #include "base/prefs/testing_pref_store.h" |
| 8 #include "chrome/browser/managed_mode/managed_user_settings_service.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 |
| 11 const char kAtomicItemName[] = "X-Wombat"; |
| 12 const char kSettingsName[] = "TestingSetting"; |
| 13 const char kSettingsValue[] = "SettingsValue"; |
| 14 const char kSplitItemName[] = "X-SuperMoosePowers"; |
| 15 |
| 16 class ManagedUserSettingsServiceTest : public ::testing::Test { |
| 17 protected: |
| 18 ManagedUserSettingsServiceTest() {} |
| 19 virtual ~ManagedUserSettingsServiceTest() {} |
| 20 |
| 21 void OnNewSettingsAvailable(const base::DictionaryValue* settings) { |
| 22 if (!settings) |
| 23 settings_.reset(); |
| 24 else |
| 25 settings_.reset(settings->DeepCopy()); |
| 26 } |
| 27 |
| 28 // testing::Test overrides: |
| 29 virtual void SetUp() OVERRIDE { |
| 30 TestingPrefStore* pref_store = new TestingPrefStore; |
| 31 settings_service_.Init(pref_store); |
| 32 settings_service_.Subscribe( |
| 33 base::Bind(&ManagedUserSettingsServiceTest::OnNewSettingsAvailable, |
| 34 base::Unretained(this))); |
| 35 pref_store->SetInitializationCompleted(); |
| 36 ASSERT_FALSE(settings_); |
| 37 settings_service_.Activate(); |
| 38 ASSERT_TRUE(settings_); |
| 39 } |
| 40 |
| 41 virtual void TearDown() OVERRIDE { |
| 42 settings_service_.Shutdown(); |
| 43 } |
| 44 |
| 45 base::DictionaryValue split_items_; |
| 46 scoped_ptr<base::Value> atomic_setting_value_; |
| 47 ManagedUserSettingsService settings_service_; |
| 48 scoped_ptr<base::DictionaryValue> settings_; |
| 49 }; |
| 50 |
| 51 TEST_F(ManagedUserSettingsServiceTest, SetLocalSetting) { |
| 52 const base::Value* value = NULL; |
| 53 EXPECT_FALSE(settings_->GetWithoutPathExpansion(kSettingsName, &value)); |
| 54 |
| 55 settings_.reset(); |
| 56 settings_service_.SetLocalSettingForTesting( |
| 57 kSettingsName, |
| 58 scoped_ptr<base::Value>(new base::StringValue(kSettingsValue))); |
| 59 ASSERT_TRUE(settings_); |
| 60 ASSERT_TRUE(settings_->GetWithoutPathExpansion(kSettingsName, &value)); |
| 61 std::string string_value; |
| 62 EXPECT_TRUE(value->GetAsString(&string_value)); |
| 63 EXPECT_EQ(kSettingsValue, string_value); |
| 64 } |
OLD | NEW |