Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / browser / policy / javascript_policy_handler_unittest.cc
blob36b6e82e86e3aec12872552ee4387bc107a020a4
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 "policy/policy_constants.h"
14 namespace policy {
16 class JavascriptPolicyHandlerTest : public ConfigurationPolicyPrefStoreTest {
17 void SetUp() override {
18 handler_list_.AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>(
19 new JavascriptPolicyHandler));
23 TEST_F(JavascriptPolicyHandlerTest, JavascriptEnabled) {
24 // This is a boolean policy, but affects an integer preference.
25 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
26 PolicyMap policy;
27 policy.Set(key::kJavascriptEnabled,
28 POLICY_LEVEL_MANDATORY,
29 POLICY_SCOPE_USER,
30 new base::FundamentalValue(true),
31 NULL);
32 UpdateProviderPolicy(policy);
33 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
34 policy.Set(key::kJavascriptEnabled,
35 POLICY_LEVEL_MANDATORY,
36 POLICY_SCOPE_USER,
37 new base::FundamentalValue(false),
38 NULL);
39 UpdateProviderPolicy(policy);
40 const base::Value* value = NULL;
41 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
42 &value));
43 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
46 TEST_F(JavascriptPolicyHandlerTest, JavascriptEnabledOverridden) {
47 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL));
48 PolicyMap policy;
49 policy.Set(key::kJavascriptEnabled,
50 POLICY_LEVEL_MANDATORY,
51 POLICY_SCOPE_USER,
52 new base::FundamentalValue(false),
53 NULL);
54 UpdateProviderPolicy(policy);
55 const base::Value* value = NULL;
56 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
57 &value));
58 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value));
59 // DefaultJavaScriptSetting overrides JavascriptEnabled.
60 policy.Set(key::kDefaultJavaScriptSetting,
61 POLICY_LEVEL_MANDATORY,
62 POLICY_SCOPE_USER,
63 new base::FundamentalValue(CONTENT_SETTING_ALLOW),
64 NULL);
65 UpdateProviderPolicy(policy);
66 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting,
67 &value));
68 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value));
71 } // namespace policy