OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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 "chrome/browser/content_settings/content_settings_policy_provider.h" | 5 #include "chrome/browser/content_settings/content_settings_policy_provider.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "chrome/browser/content_settings/stub_settings_observer.h" | 9 #include "chrome/browser/content_settings/mock_settings_observer.h" |
10 #include "chrome/browser/prefs/pref_service.h" | 10 #include "chrome/browser/prefs/pref_service.h" |
11 #include "chrome/common/chrome_switches.h" | 11 #include "chrome/common/chrome_switches.h" |
12 #include "chrome/common/pref_names.h" | 12 #include "chrome/common/pref_names.h" |
13 #include "chrome/common/url_constants.h" | 13 #include "chrome/common/url_constants.h" |
14 #include "chrome/test/testing_browser_process_test.h" | 14 #include "chrome/test/testing_browser_process_test.h" |
15 #include "chrome/test/testing_pref_service.h" | 15 #include "chrome/test/testing_pref_service.h" |
16 #include "chrome/test/testing_profile.h" | 16 #include "chrome/test/testing_profile.h" |
17 #include "content/browser/browser_thread.h" | 17 #include "content/browser/browser_thread.h" |
18 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
19 #include "googleurl/src/gurl.h" | 19 #include "googleurl/src/gurl.h" |
20 | 20 |
| 21 using ::testing::_; |
| 22 |
21 namespace content_settings { | 23 namespace content_settings { |
22 | 24 |
23 class PolicyDefaultProviderTest : public TestingBrowserProcessTest { | 25 class PolicyDefaultProviderTest : public TestingBrowserProcessTest { |
24 public: | 26 public: |
25 PolicyDefaultProviderTest() | 27 PolicyDefaultProviderTest() |
26 : ui_thread_(BrowserThread::UI, &message_loop_) { | 28 : ui_thread_(BrowserThread::UI, &message_loop_) { |
27 } | 29 } |
28 | 30 |
29 protected: | 31 protected: |
30 MessageLoop message_loop_; | 32 MessageLoop message_loop_; |
(...skipping 21 matching lines...) Expand all Loading... |
52 prefs->RemoveManagedPref(prefs::kManagedDefaultCookiesSetting); | 54 prefs->RemoveManagedPref(prefs::kManagedDefaultCookiesSetting); |
53 ASSERT_FALSE( | 55 ASSERT_FALSE( |
54 provider.DefaultSettingIsManaged(CONTENT_SETTINGS_TYPE_COOKIES)); | 56 provider.DefaultSettingIsManaged(CONTENT_SETTINGS_TYPE_COOKIES)); |
55 } | 57 } |
56 | 58 |
57 // When a default-content-setting is set to a managed setting a | 59 // When a default-content-setting is set to a managed setting a |
58 // CONTENT_SETTINGS_CHANGED notification should be fired. The same should happen | 60 // CONTENT_SETTINGS_CHANGED notification should be fired. The same should happen |
59 // if the managed setting is removed. | 61 // if the managed setting is removed. |
60 TEST_F(PolicyDefaultProviderTest, ObserveManagedSettingsChange) { | 62 TEST_F(PolicyDefaultProviderTest, ObserveManagedSettingsChange) { |
61 TestingProfile profile; | 63 TestingProfile profile; |
62 StubSettingsObserver observer; | 64 MockSettingsObserver observer; |
63 // Make sure the content settings map exists. | 65 // Make sure the content settings map exists. |
64 profile.GetHostContentSettingsMap(); | 66 profile.GetHostContentSettingsMap(); |
65 TestingPrefService* prefs = profile.GetTestingPrefService(); | 67 TestingPrefService* prefs = profile.GetTestingPrefService(); |
66 | 68 |
67 // Set the managed default-content-setting. | 69 // Set the managed default-content-setting. |
| 70 EXPECT_CALL(observer, |
| 71 OnContentSettingsChanged(profile.GetHostContentSettingsMap(), |
| 72 CONTENT_SETTINGS_TYPE_DEFAULT, true, |
| 73 _, true)); |
68 prefs->SetManagedPref(prefs::kManagedDefaultImagesSetting, | 74 prefs->SetManagedPref(prefs::kManagedDefaultImagesSetting, |
69 Value::CreateIntegerValue(CONTENT_SETTING_BLOCK)); | 75 Value::CreateIntegerValue(CONTENT_SETTING_BLOCK)); |
70 EXPECT_EQ(profile.GetHostContentSettingsMap(), observer.last_notifier); | 76 ::testing::Mock::VerifyAndClearExpectations(&observer); |
71 EXPECT_EQ(CONTENT_SETTINGS_TYPE_DEFAULT, observer.last_type); | |
72 EXPECT_TRUE(observer.last_update_all); | |
73 EXPECT_TRUE(observer.last_update_all_types); | |
74 EXPECT_EQ(1, observer.counter); | |
75 | 77 |
| 78 EXPECT_CALL(observer, |
| 79 OnContentSettingsChanged(profile.GetHostContentSettingsMap(), |
| 80 CONTENT_SETTINGS_TYPE_DEFAULT, true, |
| 81 _, true)); |
76 // Remove the managed default-content-setting. | 82 // Remove the managed default-content-setting. |
77 prefs->RemoveManagedPref(prefs::kManagedDefaultImagesSetting); | 83 prefs->RemoveManagedPref(prefs::kManagedDefaultImagesSetting); |
78 EXPECT_EQ(profile.GetHostContentSettingsMap(), observer.last_notifier); | |
79 EXPECT_EQ(CONTENT_SETTINGS_TYPE_DEFAULT, observer.last_type); | |
80 EXPECT_TRUE(observer.last_update_all); | |
81 EXPECT_TRUE(observer.last_update_all_types); | |
82 EXPECT_EQ(2, observer.counter); | |
83 } | 84 } |
84 | 85 |
85 class PolicyProviderTest : public testing::Test { | 86 class PolicyProviderTest : public testing::Test { |
86 public: | 87 public: |
87 PolicyProviderTest() | 88 PolicyProviderTest() |
88 : ui_thread_(BrowserThread::UI, &message_loop_) { | 89 : ui_thread_(BrowserThread::UI, &message_loop_) { |
89 } | 90 } |
90 | 91 |
91 protected: | 92 protected: |
92 // TODO(markusheintz): Check if it's possible to derive the provider class | 93 // TODO(markusheintz): Check if it's possible to derive the provider class |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 | 176 |
176 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 177 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
177 provider.GetContentSetting( | 178 provider.GetContentSetting( |
178 google_url, | 179 google_url, |
179 google_url, | 180 google_url, |
180 CONTENT_SETTINGS_TYPE_PLUGINS, | 181 CONTENT_SETTINGS_TYPE_PLUGINS, |
181 "anotherplugin")); | 182 "anotherplugin")); |
182 } | 183 } |
183 | 184 |
184 } // namespace content_settings | 185 } // namespace content_settings |
OLD | NEW |