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"
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
));
28 policy
.Set(key::kJavascriptEnabled
,
29 POLICY_LEVEL_MANDATORY
,
32 new base::FundamentalValue(true),
34 UpdateProviderPolicy(policy
);
35 EXPECT_FALSE(store_
->GetValue(prefs::kManagedDefaultJavaScriptSetting
, NULL
));
36 policy
.Set(key::kJavascriptEnabled
,
37 POLICY_LEVEL_MANDATORY
,
40 new base::FundamentalValue(false),
42 UpdateProviderPolicy(policy
);
43 const base::Value
* value
= NULL
;
44 EXPECT_TRUE(store_
->GetValue(prefs::kManagedDefaultJavaScriptSetting
,
46 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK
).Equals(value
));
49 TEST_F(JavascriptPolicyHandlerTest
, JavascriptEnabledOverridden
) {
50 EXPECT_FALSE(store_
->GetValue(prefs::kManagedDefaultJavaScriptSetting
, NULL
));
52 policy
.Set(key::kJavascriptEnabled
,
53 POLICY_LEVEL_MANDATORY
,
56 new base::FundamentalValue(false),
58 UpdateProviderPolicy(policy
);
59 const base::Value
* value
= NULL
;
60 EXPECT_TRUE(store_
->GetValue(prefs::kManagedDefaultJavaScriptSetting
,
62 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK
).Equals(value
));
63 // DefaultJavaScriptSetting overrides JavascriptEnabled.
64 policy
.Set(key::kDefaultJavaScriptSetting
,
65 POLICY_LEVEL_MANDATORY
,
68 new base::FundamentalValue(CONTENT_SETTING_ALLOW
),
70 UpdateProviderPolicy(policy
);
71 EXPECT_TRUE(store_
->GetValue(prefs::kManagedDefaultJavaScriptSetting
,
73 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW
).Equals(value
));