Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / policy / javascript_policy_handler_unittest.cc
bloba741c059c774e71e68c4e8a1b4ab33e90896e129
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.
5 #include "chrome/browser/policy/javascript_policy_handler.h"
6 #include "chrome/common/pref_names.h"
7 #include "components/content_settings/core/common/content_settings.h"
8 #include "components/policy/core/browser/configuration_policy_pref_store.h"
9 #include "components/policy/core/browser/configuration_policy_pref_store_test.h"
10 #include "components/policy/core/browser/policy_error_map.h"
11 #include "components/policy/core/common/policy_map.h"
12 #include "components/policy/core/common/policy_types.h"
13 #include "policy/policy_constants.h"
15 namespace policy {
17 class JavascriptPolicyHandlerTest : public ConfigurationPolicyPrefStoreTest {
18 void SetUp() override {
19 handler_list_.AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>(
20 new JavascriptPolicyHandler));
24 TEST_F(JavascriptPolicyHandlerTest, JavascriptEnabled) {
25 // This is a boolean policy, but affects an integer preference.
26 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
27 PolicyMap policy;
28 policy.Set(key::kJavascriptEnabled,
29 POLICY_LEVEL_MANDATORY,
30 POLICY_SCOPE_USER,
31 POLICY_SOURCE_CLOUD,
32 new base::FundamentalValue(true),
33 NULL);
34 UpdateProviderPolicy(policy);
35 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
36 policy.Set(key::kJavascriptEnabled,
37 POLICY_LEVEL_MANDATORY,
38 POLICY_SCOPE_USER,
39 POLICY_SOURCE_CLOUD,
40 new base::FundamentalValue(false),
41 NULL);
42 UpdateProviderPolicy(policy);
43 const base::Value* value = NULL;
44 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
45 &value));
46 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
49 TEST_F(JavascriptPolicyHandlerTest, JavascriptEnabledOverridden) {
50 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
51 PolicyMap policy;
52 policy.Set(key::kJavascriptEnabled,
53 POLICY_LEVEL_MANDATORY,
54 POLICY_SCOPE_USER,
55 POLICY_SOURCE_CLOUD,
56 new base::FundamentalValue(false),
57 NULL);
58 UpdateProviderPolicy(policy);
59 const base::Value* value = NULL;
60 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
61 &value));
62 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
63 // DefaultJavaScriptSetting overrides JavascriptEnabled.
64 policy.Set(key::kDefaultJavaScriptSetting,
65 POLICY_LEVEL_MANDATORY,
66 POLICY_SCOPE_USER,
67 POLICY_SOURCE_CLOUD,
68 new base::FundamentalValue(CONTENT_SETTING_ALLOW),
69 NULL);
70 UpdateProviderPolicy(policy);
71 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
72 &value));
73 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
76 } // namespace policy