// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "testing/gtest/include/gtest/gtest.h" #include "chrome/browser/content_settings/content_settings_mock_provider.h" #include "googleurl/src/gurl.h" namespace content_settings { TEST(ContentSettingsProviderTest, Mock) { MockDefaultProvider provider(CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_ALLOW, false, true); EXPECT_EQ(CONTENT_SETTING_ALLOW, provider.ProvideDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES)); EXPECT_EQ(CONTENT_SETTING_DEFAULT, provider.ProvideDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS)); EXPECT_FALSE(provider.DefaultSettingIsManaged(CONTENT_SETTINGS_TYPE_COOKIES)); EXPECT_FALSE(provider.DefaultSettingIsManaged(CONTENT_SETTINGS_TYPE_POPUPS)); provider.UpdateDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK); EXPECT_EQ(CONTENT_SETTING_BLOCK, provider.ProvideDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES)); ContentSettingsPattern pattern("[*.]youtube.com"); GURL url("http://www.youtube.com"); MockProvider mock_provider( pattern, pattern, CONTENT_SETTINGS_TYPE_PLUGINS, "java_plugin", CONTENT_SETTING_BLOCK, false, false); EXPECT_EQ(CONTENT_SETTING_BLOCK, mock_provider.GetContentSetting( url, url, CONTENT_SETTINGS_TYPE_PLUGINS, "java_plugin")); EXPECT_EQ(CONTENT_SETTING_DEFAULT, mock_provider.GetContentSetting( url, url, CONTENT_SETTINGS_TYPE_PLUGINS, "flash_plugin")); EXPECT_EQ(CONTENT_SETTING_DEFAULT, mock_provider.GetContentSetting( url, url, CONTENT_SETTINGS_TYPE_GEOLOCATION, "")); mock_provider.SetContentSetting( pattern, pattern, CONTENT_SETTINGS_TYPE_PLUGINS, "java_plugin", CONTENT_SETTING_ALLOW); EXPECT_EQ(CONTENT_SETTING_ALLOW, mock_provider.GetContentSetting( url, url, CONTENT_SETTINGS_TYPE_PLUGINS, "java_plugin")); mock_provider.set_read_only(true); mock_provider.SetContentSetting( pattern, pattern, CONTENT_SETTINGS_TYPE_PLUGINS, "java_plugin", CONTENT_SETTING_BLOCK); EXPECT_EQ(CONTENT_SETTING_ALLOW, mock_provider.GetContentSetting( url, url, CONTENT_SETTINGS_TYPE_PLUGINS, "java_plugin")); EXPECT_TRUE(mock_provider.read_only()); mock_provider.set_setting(CONTENT_SETTING_BLOCK); EXPECT_EQ(CONTENT_SETTING_BLOCK, mock_provider.GetContentSetting( url, url, CONTENT_SETTINGS_TYPE_PLUGINS, "java_plugin")); } } // namespace content_settings