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

Unified Diff: chrome/browser/cocoa/content_settings_dialog_controller_unittest.mm

Issue 2063020: Add observers to ContentSettingsDialogController so that the dialog will show... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/cocoa/content_settings_dialog_controller.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/cocoa/content_settings_dialog_controller_unittest.mm
===================================================================
--- chrome/browser/cocoa/content_settings_dialog_controller_unittest.mm (revision 49029)
+++ chrome/browser/cocoa/content_settings_dialog_controller_unittest.mm (working copy)
@@ -4,8 +4,12 @@
#import "chrome/browser/cocoa/content_settings_dialog_controller.h"
+#import "base/scoped_nsobject.h"
+#include "base/ref_counted.h"
#include "chrome/browser/cocoa/browser_test_helper.h"
#include "chrome/browser/cocoa/cocoa_test_helper.h"
+#import "chrome/browser/geolocation/geolocation_content_settings_map.h"
+#include "chrome/common/pref_names.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"
@@ -13,19 +17,221 @@
class ContentSettingsDialogControllerTest : public CocoaTest {
public:
+ virtual void SetUp() {
+ CocoaTest::SetUp();
+ TestingProfile* profile = browser_helper_.profile();
+ settingsMap_ = new HostContentSettingsMap(profile);
+ geoSettingsMap_ = new GeolocationContentSettingsMap(profile);
+ controller_ = [ContentSettingsDialogController
+ showContentSettingsForType:CONTENT_SETTINGS_TYPE_DEFAULT
+ profile:browser_helper_.profile()];
+ }
+
+ virtual void TearDown() {
+ [controller_ close];
+ CocoaTest::TearDown();
+ }
+
+ protected:
+ ContentSettingsDialogController* controller_;
BrowserTestHelper browser_helper_;
+ scoped_refptr<HostContentSettingsMap> settingsMap_;
+ scoped_refptr<GeolocationContentSettingsMap> geoSettingsMap_;
};
// Test that +showContentSettingsDialogForProfile brings up the existing editor
// and doesn't leak or crash.
TEST_F(ContentSettingsDialogControllerTest, CreateDialog) {
- Profile* profile(browser_helper_.profile());
- ContentSettingsDialogController* sharedInstance =
- [ContentSettingsDialogController
- showContentSettingsForType:CONTENT_SETTINGS_TYPE_DEFAULT
- profile:profile];
- EXPECT_TRUE(sharedInstance);
- [sharedInstance close];
+ EXPECT_TRUE(controller_);
}
+TEST_F(ContentSettingsDialogControllerTest, CookieSetting) {
+ // Change setting, check dialog property.
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES,
+ CONTENT_SETTING_ALLOW);
+ EXPECT_EQ([controller_ cookieSettingIndex], kCookieEnabledIndex);
+
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES,
+ CONTENT_SETTING_ASK);
+ EXPECT_EQ([controller_ cookieSettingIndex], kCookieAskIndex);
+
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES,
+ CONTENT_SETTING_BLOCK);
+ EXPECT_EQ([controller_ cookieSettingIndex], kCookieDisabledIndex);
+
+ // Change dialog property, check setting.
+ NSInteger setting;
+ [controller_ setCookieSettingIndex:kCookieEnabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES);
+ EXPECT_EQ(setting, CONTENT_SETTING_ALLOW);
+
+ [controller_ setCookieSettingIndex:kCookieAskIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES);
+ EXPECT_EQ(setting, CONTENT_SETTING_ASK);
+
+ [controller_ setCookieSettingIndex:kCookieDisabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES);
+ EXPECT_EQ(setting, CONTENT_SETTING_BLOCK);
+}
+
+TEST_F(ContentSettingsDialogControllerTest, BlockThirdPartyCookiesSetting) {
+ // Change setting, check dialog property.
+ settingsMap_->SetBlockThirdPartyCookies(YES);
+ EXPECT_TRUE([controller_ blockThirdPartyCookies]);
+
+ settingsMap_->SetBlockThirdPartyCookies(NO);
+ EXPECT_FALSE([controller_ blockThirdPartyCookies]);
+
+ // Change dialog property, check setting.
+ [controller_ setBlockThirdPartyCookies:YES];
+ EXPECT_TRUE(settingsMap_->BlockThirdPartyCookies());
+
+ [controller_ setBlockThirdPartyCookies:NO];
+ EXPECT_FALSE(settingsMap_->BlockThirdPartyCookies());
+}
+
+TEST_F(ContentSettingsDialogControllerTest, ClearSiteDataOnExitSetting) {
+ TestingProfile* profile = browser_helper_.profile();
+
+ // Change setting, check dialog property.
+ profile->GetPrefs()->SetBoolean(prefs::kClearSiteDataOnExit, true);
+ EXPECT_TRUE([controller_ clearSiteDataOnExit]);
+
+ profile->GetPrefs()->SetBoolean(prefs::kClearSiteDataOnExit, false);
+ EXPECT_FALSE([controller_ clearSiteDataOnExit]);
+
+ // Change dialog property, check setting.
+ [controller_ setClearSiteDataOnExit:YES];
+ EXPECT_TRUE(profile->GetPrefs()->GetBoolean(prefs::kClearSiteDataOnExit));
+
+ [controller_ setClearSiteDataOnExit:NO];
+ EXPECT_FALSE(profile->GetPrefs()->GetBoolean(prefs::kClearSiteDataOnExit));
+}
+
+TEST_F(ContentSettingsDialogControllerTest, ImagesSetting) {
+ // Change setting, check dialog property.
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_IMAGES,
+ CONTENT_SETTING_ALLOW);
+ EXPECT_EQ([controller_ imagesEnabledIndex], kContentSettingsEnabledIndex);
+
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_IMAGES,
+ CONTENT_SETTING_BLOCK);
+ EXPECT_EQ([controller_ imagesEnabledIndex], kContentSettingsDisabledIndex);
+
+ // Change dialog property, check setting.
+ NSInteger setting;
+ [controller_ setImagesEnabledIndex:kContentSettingsEnabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_IMAGES);
+ EXPECT_EQ(setting, CONTENT_SETTING_ALLOW);
+
+ [controller_ setImagesEnabledIndex:kContentSettingsDisabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_IMAGES);
+ EXPECT_EQ(setting, CONTENT_SETTING_BLOCK);
+}
+
+TEST_F(ContentSettingsDialogControllerTest, JavaScriptSetting) {
+ // Change setting, check dialog property.
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT,
+ CONTENT_SETTING_ALLOW);
+ EXPECT_EQ([controller_ javaScriptEnabledIndex], kContentSettingsEnabledIndex);
+
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT,
+ CONTENT_SETTING_BLOCK);
+ EXPECT_EQ([controller_ javaScriptEnabledIndex],
+ kContentSettingsDisabledIndex);
+
+ // Change dialog property, check setting.
+ NSInteger setting;
+ [controller_ setJavaScriptEnabledIndex:kContentSettingsEnabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT);
+ EXPECT_EQ(setting, CONTENT_SETTING_ALLOW);
+
+ [controller_ setJavaScriptEnabledIndex:kContentSettingsDisabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT);
+ EXPECT_EQ(setting, CONTENT_SETTING_BLOCK);
+}
+
+TEST_F(ContentSettingsDialogControllerTest, PluginsSetting) {
+ // Change setting, check dialog property.
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS,
+ CONTENT_SETTING_ALLOW);
+ EXPECT_EQ([controller_ pluginsEnabledIndex], kContentSettingsEnabledIndex);
+
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS,
+ CONTENT_SETTING_BLOCK);
+ EXPECT_EQ([controller_ pluginsEnabledIndex], kContentSettingsDisabledIndex);
+
+ // Change dialog property, check setting.
+ NSInteger setting;
+ [controller_ setPluginsEnabledIndex:kContentSettingsEnabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS);
+ EXPECT_EQ(setting, CONTENT_SETTING_ALLOW);
+
+ [controller_ setPluginsEnabledIndex:kContentSettingsDisabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS);
+ EXPECT_EQ(setting, CONTENT_SETTING_BLOCK);
+}
+
+TEST_F(ContentSettingsDialogControllerTest, PopupsSetting) {
+ // Change setting, check dialog property.
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_POPUPS,
+ CONTENT_SETTING_ALLOW);
+ EXPECT_EQ([controller_ popupsEnabledIndex], kContentSettingsEnabledIndex);
+
+ settingsMap_->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_POPUPS,
+ CONTENT_SETTING_BLOCK);
+ EXPECT_EQ([controller_ popupsEnabledIndex], kContentSettingsDisabledIndex);
+
+ // Change dialog property, check setting.
+ NSInteger setting;
+ [controller_ setPopupsEnabledIndex:kContentSettingsEnabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_POPUPS);
+ EXPECT_EQ(setting, CONTENT_SETTING_ALLOW);
+
+ [controller_ setPopupsEnabledIndex:kContentSettingsDisabledIndex];
+ setting =
+ settingsMap_->GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_POPUPS);
+ EXPECT_EQ(setting, CONTENT_SETTING_BLOCK);
+}
+
+TEST_F(ContentSettingsDialogControllerTest, GeolocationSetting) {
+ // Change setting, check dialog property.
+ geoSettingsMap_->SetDefaultContentSetting(CONTENT_SETTING_ALLOW);
+ EXPECT_EQ([controller_ geolocationSettingIndex], kGeolocationEnabledIndex);
+
+ geoSettingsMap_->SetDefaultContentSetting(CONTENT_SETTING_ASK);
+ EXPECT_EQ([controller_ geolocationSettingIndex], kGeolocationAskIndex);
+
+ geoSettingsMap_->SetDefaultContentSetting(CONTENT_SETTING_BLOCK);
+ EXPECT_EQ([controller_ geolocationSettingIndex], kGeolocationDisabledIndex);
+
+ // Change dialog property, check setting.
+ NSInteger setting;
+ [controller_ setGeolocationSettingIndex:kGeolocationEnabledIndex];
+ setting =
+ geoSettingsMap_->GetDefaultContentSetting();
+ EXPECT_EQ(setting, CONTENT_SETTING_ALLOW);
+
+ [controller_ setGeolocationSettingIndex:kGeolocationAskIndex];
+ setting =
+ geoSettingsMap_->GetDefaultContentSetting();
+ EXPECT_EQ(setting, CONTENT_SETTING_ASK);
+
+ [controller_ setGeolocationSettingIndex:kGeolocationDisabledIndex];
+ setting =
+ geoSettingsMap_->GetDefaultContentSetting();
+ EXPECT_EQ(setting, CONTENT_SETTING_BLOCK);
+}
+
} // namespace
+
« no previous file with comments | « chrome/browser/cocoa/content_settings_dialog_controller.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698