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

Side by Side Diff: chrome/browser/plugin_prefs_unittest.cc

Issue 7848025: Store plug-in enabled/disabled state in PluginPrefs instead of WebPluginInfo. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: indent Created 9 years, 3 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 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.
4
5 #include "chrome/browser/plugin_prefs.h"
6
7 #include "base/utf_string_conversions.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 class PluginPrefsTest : public ::testing::Test {
11 public:
12 virtual void SetUp() {
Joao da Silva 2011/09/13 09:30:48 OVERRIDE
Bernhard Bauer 2011/09/13 12:13:01 Done.
13 plugin_prefs_ = new PluginPrefs();
14 }
15
16 void SetPolicyEnforcedPluginPatterns(
17 const std::set<string16>& disabled,
18 const std::set<string16>& disabled_exceptions,
19 const std::set<string16>& enabled) {
20 plugin_prefs_->SetPolicyEnforcedPluginPatterns(
21 disabled, disabled_exceptions, enabled);
22 }
23
24 protected:
25 scoped_refptr<PluginPrefs> plugin_prefs_;
26 };
27
28 TEST_F(PluginPrefsTest, DisabledByPolicy) {
29 std::set<string16> disabled_plugins;
30 disabled_plugins.insert(ASCIIToUTF16("Disable this!"));
31 disabled_plugins.insert(ASCIIToUTF16("*Google*"));
32 SetPolicyEnforcedPluginPatterns(disabled_plugins,
33 std::set<string16>(),
34 std::set<string16>());
35
36 EXPECT_EQ(PluginPrefs::NO_POLICY,
37 plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("42")));
38 EXPECT_EQ(PluginPrefs::POLICY_DISABLED,
39 plugin_prefs_->PolicyStatusForPlugin(
40 ASCIIToUTF16("Disable this!")));
41 EXPECT_EQ(PluginPrefs::POLICY_DISABLED,
42 plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("Google Earth")));
43 }
44
45 TEST_F(PluginPrefsTest, EnabledByPolicy) {
46 std::set<string16> enabled_plugins;
47 enabled_plugins.insert(ASCIIToUTF16("Enable that!"));
48 enabled_plugins.insert(ASCIIToUTF16("PDF*"));
49 SetPolicyEnforcedPluginPatterns(std::set<string16>(),
50 std::set<string16>(),
51 enabled_plugins);
52
53 EXPECT_EQ(PluginPrefs::NO_POLICY,
54 plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("42")));
55 EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
56 plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("Enable that!")));
57 EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
58 plugin_prefs_->PolicyStatusForPlugin(ASCIIToUTF16("PDF Reader")));
59 }
60
61 TEST_F(PluginPrefsTest, EnabledAndDisabledByPolicy) {
62 const string16 k42(ASCIIToUTF16("42"));
63 const string16 kEnabled(ASCIIToUTF16("Enabled"));
64 const string16 kEnabled2(ASCIIToUTF16("Enabled 2"));
65 const string16 kEnabled3(ASCIIToUTF16("Enabled 3"));
66 const string16 kException(ASCIIToUTF16("Exception"));
67 const string16 kException2(ASCIIToUTF16("Exception 2"));
68 const string16 kGoogleMars(ASCIIToUTF16("Google Mars"));
69 const string16 kGoogleEarth(ASCIIToUTF16("Google Earth"));
70
71 std::set<string16> disabled_plugins;
72 std::set<string16> disabled_plugins_exceptions;
73 std::set<string16> enabled_plugins;
74
75 disabled_plugins.insert(kEnabled);
76 disabled_plugins_exceptions.insert(kEnabled);
77 enabled_plugins.insert(kEnabled);
78
79 disabled_plugins_exceptions.insert(kException);
80
81 disabled_plugins.insert(kEnabled2);
82 enabled_plugins.insert(kEnabled2);
83
84 disabled_plugins.insert(kException2);
85 disabled_plugins_exceptions.insert(kException2);
86
87 disabled_plugins_exceptions.insert(kEnabled3);
88 enabled_plugins.insert(kEnabled3);
89
90 SetPolicyEnforcedPluginPatterns(disabled_plugins,
91 disabled_plugins_exceptions,
92 enabled_plugins);
93
94 EXPECT_EQ(PluginPrefs::NO_POLICY, plugin_prefs_->PolicyStatusForPlugin(k42));
95
96 EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
97 plugin_prefs_->PolicyStatusForPlugin(kEnabled));
98 EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
99 plugin_prefs_->PolicyStatusForPlugin(kEnabled2));
100 EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
101 plugin_prefs_->PolicyStatusForPlugin(kEnabled3));
102
103 EXPECT_EQ(PluginPrefs::NO_POLICY,
104 plugin_prefs_->PolicyStatusForPlugin(kException));
105 EXPECT_EQ(PluginPrefs::NO_POLICY,
106 plugin_prefs_->PolicyStatusForPlugin(kException2));
107
108 disabled_plugins.clear();
109 disabled_plugins_exceptions.clear();
110 enabled_plugins.clear();
111
112 disabled_plugins.insert(ASCIIToUTF16("*"));
113 disabled_plugins_exceptions.insert(ASCIIToUTF16("*Google*"));
114 enabled_plugins.insert(kGoogleEarth);
115
116 SetPolicyEnforcedPluginPatterns(disabled_plugins,
117 disabled_plugins_exceptions,
118 enabled_plugins);
119
120 EXPECT_EQ(PluginPrefs::POLICY_ENABLED,
121 plugin_prefs_->PolicyStatusForPlugin(kGoogleEarth));
122 EXPECT_EQ(PluginPrefs::NO_POLICY,
123 plugin_prefs_->PolicyStatusForPlugin(kGoogleMars));
124 EXPECT_EQ(PluginPrefs::POLICY_DISABLED,
125 plugin_prefs_->PolicyStatusForPlugin(k42));
126 }
127
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698