1// Copyright 2014 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 <string> 6 7#include "base/prefs/pref_service.h" 8#include "chrome/browser/supervised_user/supervised_user_constants.h" 9#include "chrome/browser/supervised_user/supervised_user_pref_mapping_service.h" 10#include "chrome/browser/supervised_user/supervised_user_pref_mapping_service_factory.h" 11#include "chrome/browser/supervised_user/supervised_user_shared_settings_service.h" 12#include "chrome/browser/supervised_user/supervised_user_shared_settings_service_factory.h" 13#include "chrome/common/pref_names.h" 14#include "chrome/test/base/testing_profile.h" 15#include "testing/gtest/include/gtest/gtest.h" 16 17const char kFakeSupervisedUserId[] = "fakeID"; 18 19class SupervisedUserPrefMappingServiceTest : public ::testing::Test { 20 protected: 21 SupervisedUserPrefMappingServiceTest() { 22 profile_.GetPrefs()->SetString(prefs::kSupervisedUserId, 23 kFakeSupervisedUserId); 24 shared_settings_service_ = 25 SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext( 26 &profile_); 27 mapping_service_ = 28 SupervisedUserPrefMappingServiceFactory::GetForBrowserContext( 29 &profile_); 30 } 31 virtual ~SupervisedUserPrefMappingServiceTest() {} 32 33 // testing::Test overrides: 34 virtual void SetUp() OVERRIDE { 35 mapping_service_->Init(); 36 } 37 38 virtual void TearDown() OVERRIDE { 39 mapping_service_->Shutdown(); 40 shared_settings_service_->Shutdown(); 41 } 42 43 TestingProfile profile_; 44 SupervisedUserSharedSettingsService* shared_settings_service_; 45 SupervisedUserPrefMappingService* mapping_service_; 46}; 47 48TEST_F(SupervisedUserPrefMappingServiceTest, CheckPrefUpdate) { 49 EXPECT_TRUE(shared_settings_service_->GetValue( 50 kFakeSupervisedUserId, 51 supervised_users::kChromeAvatarIndex) == NULL); 52 profile_.GetPrefs()->SetInteger(prefs::kProfileAvatarIndex, 4); 53 const base::Value* value = shared_settings_service_->GetValue( 54 kFakeSupervisedUserId, supervised_users::kChromeAvatarIndex); 55 int avatar_index; 56 value->GetAsInteger(&avatar_index); 57 EXPECT_EQ(avatar_index, 4); 58} 59 60TEST_F(SupervisedUserPrefMappingServiceTest, CheckSharedSettingUpdate) { 61 EXPECT_EQ(profile_.GetPrefs()->GetInteger(prefs::kProfileAvatarIndex), -1); 62 shared_settings_service_->SetValue(kFakeSupervisedUserId, 63 supervised_users::kChromeAvatarIndex, 64 base::FundamentalValue(1)); 65 mapping_service_->OnSharedSettingChanged( 66 kFakeSupervisedUserId, 67 supervised_users::kChromeAvatarIndex); 68 EXPECT_EQ(profile_.GetPrefs()->GetInteger(prefs::kProfileAvatarIndex), 1); 69} 70