Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / browser / policy / file_selection_dialogs_policy_handler_unittest.cc
blob8392ff94dc8ce3e95c997bb79ab671d100ea8ef6
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 "base/prefs/pref_value_map.h"
6 #include "base/values.h"
7 #include "chrome/browser/policy/file_selection_dialogs_policy_handler.h"
8 #include "chrome/common/pref_names.h"
9 #include "components/policy/core/common/policy_map.h"
10 #include "policy/policy_constants.h"
11 #include "testing/gtest/include/gtest/gtest.h"
13 namespace policy {
15 // Test cases for how the AllowFileSelectionDialogs policy influences the
16 // PromptForDownload preference.
17 class FileSelectionDialogsPolicyTest : public testing::Test {
18 protected:
19 PolicyMap policy_;
20 FileSelectionDialogsPolicyHandler handler_;
21 PrefValueMap prefs_;
24 TEST_F(FileSelectionDialogsPolicyTest, Default) {
25 handler_.ApplyPolicySettings(policy_, &prefs_);
26 EXPECT_FALSE(prefs_.GetValue(prefs::kPromptForDownload, NULL));
29 TEST_F(FileSelectionDialogsPolicyTest, EnableFileSelectionDialogs) {
30 policy_.Set(key::kAllowFileSelectionDialogs,
31 POLICY_LEVEL_MANDATORY,
32 POLICY_SCOPE_USER,
33 new base::FundamentalValue(true),
34 NULL);
35 handler_.ApplyPolicySettings(policy_, &prefs_);
37 // Allowing file-selection dialogs should not influence the PromptForDownload
38 // pref.
39 EXPECT_FALSE(prefs_.GetValue(prefs::kPromptForDownload, NULL));
42 TEST_F(FileSelectionDialogsPolicyTest, DisableFileSelectionDialogs) {
43 policy_.Set(key::kAllowFileSelectionDialogs,
44 POLICY_LEVEL_MANDATORY,
45 POLICY_SCOPE_USER,
46 new base::FundamentalValue(false),
47 NULL);
48 handler_.ApplyPolicySettings(policy_, &prefs_);
50 // Disabling file-selection dialogs should disable the PromptForDownload pref.
51 const base::Value* value = NULL;
52 EXPECT_TRUE(prefs_.GetValue(prefs::kPromptForDownload, &value));
53 ASSERT_TRUE(value);
54 bool prompt_for_download = true;
55 bool result = value->GetAsBoolean(&prompt_for_download);
56 EXPECT_TRUE(result);
57 EXPECT_FALSE(prompt_for_download);
60 } // namespace policy