summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy/mock_configuration_policy_provider.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/policy/mock_configuration_policy_provider.h')
-rw-r--r--chrome/browser/policy/mock_configuration_policy_provider.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/chrome/browser/policy/mock_configuration_policy_provider.h b/chrome/browser/policy/mock_configuration_policy_provider.h
new file mode 100644
index 0000000..2d727467
--- /dev/null
+++ b/chrome/browser/policy/mock_configuration_policy_provider.h
@@ -0,0 +1,43 @@
+// Copyright (c) 2010 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.
+
+#ifndef CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_PROVIDER_H_
+#define CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_PROVIDER_H_
+#pragma once
+
+#include <map>
+
+#include "base/stl_util-inl.h"
+#include "chrome/browser/policy/configuration_policy_provider.h"
+
+// Mock ConfigurationPolicyProvider implementation that supplies canned
+// values for polices.
+class MockConfigurationPolicyProvider : public ConfigurationPolicyProvider {
+ public:
+ MockConfigurationPolicyProvider() {}
+ ~MockConfigurationPolicyProvider() {
+ STLDeleteValues(&policy_map_);
+ }
+
+ typedef std::map<ConfigurationPolicyStore::PolicyType, Value*> PolicyMap;
+
+ void AddPolicy(ConfigurationPolicyStore::PolicyType policy, Value* value) {
+ policy_map_[policy] = value;
+ }
+
+ // ConfigurationPolicyProvider method overrides.
+ virtual bool Provide(ConfigurationPolicyStore* store) {
+ for (PolicyMap::const_iterator current = policy_map_.begin();
+ current != policy_map_.end(); ++current) {
+ store->Apply(current->first, current->second->DeepCopy());
+ }
+ return true;
+ }
+
+ private:
+ PolicyMap policy_map_;
+};
+
+#endif // CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_PROVIDER_H_
+