1 // Copyright (c) 2011 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 "chrome/browser/prefs/pref_service_mock_builder.h" 6 7 #include "chrome/browser/policy/configuration_policy_pref_store.h" 8 #include "chrome/browser/prefs/command_line_pref_store.h" 9 #include "chrome/browser/prefs/default_pref_store.h" 10 #include "chrome/browser/prefs/pref_service.h" 11 #include "chrome/browser/prefs/testing_pref_store.h" 12 #include "chrome/common/json_pref_store.h" 13 #include "content/browser/browser_thread.h" 14 PrefServiceMockBuilder()15PrefServiceMockBuilder::PrefServiceMockBuilder() 16 : user_prefs_(new TestingPrefStore) { 17 } 18 ~PrefServiceMockBuilder()19PrefServiceMockBuilder::~PrefServiceMockBuilder() {} 20 21 PrefServiceMockBuilder& WithManagedPlatformPrefs(PrefStore * store)22PrefServiceMockBuilder::WithManagedPlatformPrefs(PrefStore* store) { 23 managed_platform_prefs_ = store; 24 return *this; 25 } 26 27 PrefServiceMockBuilder& WithManagedCloudPrefs(PrefStore * store)28PrefServiceMockBuilder::WithManagedCloudPrefs(PrefStore* store) { 29 managed_cloud_prefs_ = store; 30 return *this; 31 } 32 33 PrefServiceMockBuilder& WithExtensionPrefs(PrefStore * store)34PrefServiceMockBuilder::WithExtensionPrefs(PrefStore* store) { 35 extension_prefs_ = store; 36 return *this; 37 } 38 39 PrefServiceMockBuilder& WithCommandLinePrefs(PrefStore * store)40PrefServiceMockBuilder::WithCommandLinePrefs(PrefStore* store) { 41 command_line_prefs_ = store; 42 return *this; 43 } 44 45 PrefServiceMockBuilder& WithUserPrefs(PersistentPrefStore * store)46PrefServiceMockBuilder::WithUserPrefs(PersistentPrefStore* store) { 47 user_prefs_ = store; 48 return *this; 49 } 50 51 PrefServiceMockBuilder& WithRecommendedPlatformPrefs(PrefStore * store)52PrefServiceMockBuilder::WithRecommendedPlatformPrefs(PrefStore* store) { 53 recommended_platform_prefs_ = store; 54 return *this; 55 } 56 57 PrefServiceMockBuilder& WithRecommendedCloudPrefs(PrefStore * store)58PrefServiceMockBuilder::WithRecommendedCloudPrefs(PrefStore* store) { 59 recommended_cloud_prefs_ = store; 60 return *this; 61 } 62 63 PrefServiceMockBuilder& WithManagedPlatformProvider(policy::ConfigurationPolicyProvider * provider)64PrefServiceMockBuilder::WithManagedPlatformProvider( 65 policy::ConfigurationPolicyProvider* provider) { 66 managed_platform_prefs_ = new policy::ConfigurationPolicyPrefStore(provider); 67 return *this; 68 } 69 70 PrefServiceMockBuilder& WithManagedCloudProvider(policy::ConfigurationPolicyProvider * provider)71PrefServiceMockBuilder::WithManagedCloudProvider( 72 policy::ConfigurationPolicyProvider* provider) { 73 managed_cloud_prefs_ = new policy::ConfigurationPolicyPrefStore(provider); 74 return *this; 75 } 76 77 PrefServiceMockBuilder& WithRecommendedPlatformProvider(policy::ConfigurationPolicyProvider * provider)78PrefServiceMockBuilder::WithRecommendedPlatformProvider( 79 policy::ConfigurationPolicyProvider* provider) { 80 recommended_platform_prefs_ = 81 new policy::ConfigurationPolicyPrefStore(provider); 82 return *this; 83 } 84 85 PrefServiceMockBuilder& WithRecommendedCloudProvider(policy::ConfigurationPolicyProvider * provider)86PrefServiceMockBuilder::WithRecommendedCloudProvider( 87 policy::ConfigurationPolicyProvider* provider) { 88 recommended_cloud_prefs_ = new policy::ConfigurationPolicyPrefStore(provider); 89 return *this; 90 } 91 92 PrefServiceMockBuilder& WithCommandLine(CommandLine * command_line)93PrefServiceMockBuilder::WithCommandLine(CommandLine* command_line) { 94 command_line_prefs_ = new CommandLinePrefStore(command_line); 95 return *this; 96 } 97 98 PrefServiceMockBuilder& WithUserFilePrefs(const FilePath & prefs_file)99PrefServiceMockBuilder::WithUserFilePrefs(const FilePath& prefs_file) { 100 user_prefs_ = 101 new JsonPrefStore(prefs_file, 102 BrowserThread::GetMessageLoopProxyForThread( 103 BrowserThread::FILE)); 104 return *this; 105 } 106 Create()107PrefService* PrefServiceMockBuilder::Create() { 108 PrefService* pref_service = 109 new PrefService(managed_platform_prefs_.get(), 110 managed_cloud_prefs_.get(), 111 extension_prefs_.get(), 112 command_line_prefs_.get(), 113 user_prefs_.get(), 114 recommended_platform_prefs_.get(), 115 recommended_cloud_prefs_.get(), 116 new DefaultPrefStore(), 117 NULL); 118 managed_platform_prefs_ = NULL; 119 managed_cloud_prefs_ = NULL; 120 extension_prefs_ = NULL; 121 command_line_prefs_ = NULL; 122 user_prefs_ = NULL; 123 recommended_platform_prefs_ = NULL; 124 recommended_cloud_prefs_ = NULL; 125 user_prefs_ = new TestingPrefStore; 126 return pref_service; 127 } 128