Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Side by Side Diff: chrome/browser/policy/file_selection_dialogs_policy_handler_unittest.cc

Issue 1940153002: Use std::unique_ptr to express ownership of base::Value in PolicyMap::Entry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: another-fix Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/memory/ptr_util.h"
5 #include "base/values.h" 6 #include "base/values.h"
6 #include "chrome/browser/policy/file_selection_dialogs_policy_handler.h" 7 #include "chrome/browser/policy/file_selection_dialogs_policy_handler.h"
7 #include "chrome/common/pref_names.h" 8 #include "chrome/common/pref_names.h"
8 #include "components/policy/core/common/policy_map.h" 9 #include "components/policy/core/common/policy_map.h"
9 #include "components/policy/core/common/policy_types.h" 10 #include "components/policy/core/common/policy_types.h"
10 #include "components/prefs/pref_value_map.h" 11 #include "components/prefs/pref_value_map.h"
11 #include "policy/policy_constants.h" 12 #include "policy/policy_constants.h"
12 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
13 14
14 namespace policy { 15 namespace policy {
15 16
16 // Test cases for how the AllowFileSelectionDialogs policy influences the 17 // Test cases for how the AllowFileSelectionDialogs policy influences the
17 // PromptForDownload preference. 18 // PromptForDownload preference.
18 class FileSelectionDialogsPolicyTest : public testing::Test { 19 class FileSelectionDialogsPolicyTest : public testing::Test {
19 protected: 20 protected:
20 PolicyMap policy_; 21 PolicyMap policy_;
21 FileSelectionDialogsPolicyHandler handler_; 22 FileSelectionDialogsPolicyHandler handler_;
22 PrefValueMap prefs_; 23 PrefValueMap prefs_;
23 }; 24 };
24 25
25 TEST_F(FileSelectionDialogsPolicyTest, Default) { 26 TEST_F(FileSelectionDialogsPolicyTest, Default) {
26 handler_.ApplyPolicySettings(policy_, &prefs_); 27 handler_.ApplyPolicySettings(policy_, &prefs_);
27 EXPECT_FALSE(prefs_.GetValue(prefs::kPromptForDownload, NULL)); 28 EXPECT_FALSE(prefs_.GetValue(prefs::kPromptForDownload, NULL));
28 } 29 }
29 30
30 TEST_F(FileSelectionDialogsPolicyTest, EnableFileSelectionDialogs) { 31 TEST_F(FileSelectionDialogsPolicyTest, EnableFileSelectionDialogs) {
31 policy_.Set(key::kAllowFileSelectionDialogs, 32 policy_.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
32 POLICY_LEVEL_MANDATORY, 33 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
33 POLICY_SCOPE_USER, 34 base::WrapUnique(new base::FundamentalValue(true)), nullptr);
34 POLICY_SOURCE_CLOUD,
35 new base::FundamentalValue(true),
36 NULL);
37 handler_.ApplyPolicySettings(policy_, &prefs_); 35 handler_.ApplyPolicySettings(policy_, &prefs_);
38 36
39 // Allowing file-selection dialogs should not influence the PromptForDownload 37 // Allowing file-selection dialogs should not influence the PromptForDownload
40 // pref. 38 // pref.
41 EXPECT_FALSE(prefs_.GetValue(prefs::kPromptForDownload, NULL)); 39 EXPECT_FALSE(prefs_.GetValue(prefs::kPromptForDownload, NULL));
42 } 40 }
43 41
44 TEST_F(FileSelectionDialogsPolicyTest, DisableFileSelectionDialogs) { 42 TEST_F(FileSelectionDialogsPolicyTest, DisableFileSelectionDialogs) {
45 policy_.Set(key::kAllowFileSelectionDialogs, 43 policy_.Set(key::kAllowFileSelectionDialogs, POLICY_LEVEL_MANDATORY,
46 POLICY_LEVEL_MANDATORY, 44 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
47 POLICY_SCOPE_USER, 45 base::WrapUnique(new base::FundamentalValue(false)), nullptr);
48 POLICY_SOURCE_CLOUD,
49 new base::FundamentalValue(false),
50 NULL);
51 handler_.ApplyPolicySettings(policy_, &prefs_); 46 handler_.ApplyPolicySettings(policy_, &prefs_);
52 47
53 // Disabling file-selection dialogs should disable the PromptForDownload pref. 48 // Disabling file-selection dialogs should disable the PromptForDownload pref.
54 const base::Value* value = NULL; 49 const base::Value* value = NULL;
55 EXPECT_TRUE(prefs_.GetValue(prefs::kPromptForDownload, &value)); 50 EXPECT_TRUE(prefs_.GetValue(prefs::kPromptForDownload, &value));
56 ASSERT_TRUE(value); 51 ASSERT_TRUE(value);
57 bool prompt_for_download = true; 52 bool prompt_for_download = true;
58 bool result = value->GetAsBoolean(&prompt_for_download); 53 bool result = value->GetAsBoolean(&prompt_for_download);
59 EXPECT_TRUE(result); 54 EXPECT_TRUE(result);
60 EXPECT_FALSE(prompt_for_download); 55 EXPECT_FALSE(prompt_for_download);
61 } 56 }
62 57
63 } // namespace policy 58 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/cloud/cloud_policy_browsertest.cc ('k') | chrome/browser/policy/javascript_policy_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698