| Index: chrome/browser/ui/cocoa/content_exceptions_window_controller_unittest.mm
|
| ===================================================================
|
| --- chrome/browser/ui/cocoa/content_exceptions_window_controller_unittest.mm (revision 71447)
|
| +++ chrome/browser/ui/cocoa/content_exceptions_window_controller_unittest.mm (working copy)
|
| @@ -1,252 +0,0 @@
|
| -// 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.
|
| -
|
| -#import "chrome/browser/ui/cocoa/content_exceptions_window_controller.h"
|
| -
|
| -#import <Cocoa/Cocoa.h>
|
| -
|
| -#import "base/scoped_nsobject.h"
|
| -#include "base/ref_counted.h"
|
| -#include "chrome/browser/ui/cocoa/browser_test_helper.h"
|
| -#include "chrome/browser/ui/cocoa/cocoa_test_helper.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "testing/platform_test.h"
|
| -
|
| -namespace {
|
| -
|
| -void ProcessEvents() {
|
| - for (;;) {
|
| - base::mac::ScopedNSAutoreleasePool pool;
|
| - NSEvent* next_event = [NSApp nextEventMatchingMask:NSAnyEventMask
|
| - untilDate:nil
|
| - inMode:NSDefaultRunLoopMode
|
| - dequeue:YES];
|
| - if (!next_event)
|
| - break;
|
| - [NSApp sendEvent:next_event];
|
| - }
|
| -}
|
| -
|
| -void SendKeyEvents(NSString* characters) {
|
| - for (NSUInteger i = 0; i < [characters length]; ++i) {
|
| - unichar character = [characters characterAtIndex:i];
|
| - NSString* charString = [NSString stringWithCharacters:&character length:1];
|
| - NSEvent* event = [NSEvent keyEventWithType:NSKeyDown
|
| - location:NSZeroPoint
|
| - modifierFlags:0
|
| - timestamp:0.0
|
| - windowNumber:0
|
| - context:nil
|
| - characters:charString
|
| - charactersIgnoringModifiers:charString
|
| - isARepeat:NO
|
| - keyCode:0];
|
| - [NSApp sendEvent:event];
|
| - }
|
| -}
|
| -
|
| -class ContentExceptionsWindowControllerTest : public CocoaTest {
|
| - public:
|
| - virtual void SetUp() {
|
| - CocoaTest::SetUp();
|
| - TestingProfile* profile = browser_helper_.profile();
|
| - settingsMap_ = new HostContentSettingsMap(profile);
|
| - }
|
| -
|
| - ContentExceptionsWindowController* GetController(ContentSettingsType type) {
|
| - id controller = [ContentExceptionsWindowController
|
| - controllerForType:type
|
| - settingsMap:settingsMap_.get()
|
| - otrSettingsMap:NULL];
|
| - [controller showWindow:nil];
|
| - return controller;
|
| - }
|
| -
|
| - void ClickAdd(ContentExceptionsWindowController* controller) {
|
| - [controller addException:nil];
|
| - ProcessEvents();
|
| - }
|
| -
|
| - void ClickRemove(ContentExceptionsWindowController* controller) {
|
| - [controller removeException:nil];
|
| - ProcessEvents();
|
| - }
|
| -
|
| - void ClickRemoveAll(ContentExceptionsWindowController* controller) {
|
| - [controller removeAllExceptions:nil];
|
| - ProcessEvents();
|
| - }
|
| -
|
| - void EnterText(NSString* str) {
|
| - SendKeyEvents(str);
|
| - ProcessEvents();
|
| - }
|
| -
|
| - void HitEscape(ContentExceptionsWindowController* controller) {
|
| - [controller cancel:nil];
|
| - ProcessEvents();
|
| - }
|
| -
|
| - protected:
|
| - BrowserTestHelper browser_helper_;
|
| - scoped_refptr<HostContentSettingsMap> settingsMap_;
|
| -};
|
| -
|
| -TEST_F(ContentExceptionsWindowControllerTest, Construction) {
|
| - ContentExceptionsWindowController* controller =
|
| - [ContentExceptionsWindowController
|
| - controllerForType:CONTENT_SETTINGS_TYPE_PLUGINS
|
| - settingsMap:settingsMap_.get()
|
| - otrSettingsMap:NULL];
|
| - [controller showWindow:nil];
|
| - [controller close]; // Should autorelease.
|
| -}
|
| -
|
| -// Regression test for http://crbug.com/37137
|
| -TEST_F(ContentExceptionsWindowControllerTest, AddRemove) {
|
| - ContentExceptionsWindowController* controller =
|
| - GetController(CONTENT_SETTINGS_TYPE_PLUGINS);
|
| -
|
| - HostContentSettingsMap::SettingsForOneType settings;
|
| -
|
| - ClickAdd(controller);
|
| - settingsMap_->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_PLUGINS,
|
| - "",
|
| - &settings);
|
| - EXPECT_EQ(0u, settings.size());
|
| -
|
| - ClickRemove(controller);
|
| -
|
| - EXPECT_FALSE([controller editingNewException]);
|
| - [controller close];
|
| -
|
| - settingsMap_->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_PLUGINS,
|
| - "",
|
| - &settings);
|
| - EXPECT_EQ(0u, settings.size());
|
| -}
|
| -
|
| -// Regression test for http://crbug.com/37137
|
| -TEST_F(ContentExceptionsWindowControllerTest, AddRemoveAll) {
|
| - ContentExceptionsWindowController* controller =
|
| - GetController(CONTENT_SETTINGS_TYPE_PLUGINS);
|
| -
|
| - ClickAdd(controller);
|
| - ClickRemoveAll(controller);
|
| -
|
| - EXPECT_FALSE([controller editingNewException]);
|
| - [controller close];
|
| -
|
| - HostContentSettingsMap::SettingsForOneType settings;
|
| - settingsMap_->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_PLUGINS,
|
| - "",
|
| - &settings);
|
| - EXPECT_EQ(0u, settings.size());
|
| -}
|
| -
|
| -TEST_F(ContentExceptionsWindowControllerTest, Add) {
|
| - ContentExceptionsWindowController* controller =
|
| - GetController(CONTENT_SETTINGS_TYPE_PLUGINS);
|
| -
|
| - ClickAdd(controller);
|
| - EnterText(@"addedhost\n");
|
| -
|
| - EXPECT_FALSE([controller editingNewException]);
|
| - [controller close];
|
| -
|
| - HostContentSettingsMap::SettingsForOneType settings;
|
| - settingsMap_->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_PLUGINS,
|
| - "",
|
| - &settings);
|
| - EXPECT_EQ(1u, settings.size());
|
| - EXPECT_EQ(ContentSettingsPattern("addedhost"), settings[0].first);
|
| -}
|
| -
|
| -TEST_F(ContentExceptionsWindowControllerTest, AddEscDoesNotAdd) {
|
| - ContentExceptionsWindowController* controller =
|
| - GetController(CONTENT_SETTINGS_TYPE_PLUGINS);
|
| -
|
| - ClickAdd(controller);
|
| - EnterText(@"addedhost"); // but do not press enter
|
| - HitEscape(controller);
|
| -
|
| - HostContentSettingsMap::SettingsForOneType settings;
|
| - settingsMap_->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_PLUGINS,
|
| - "",
|
| - &settings);
|
| - EXPECT_EQ(0u, settings.size());
|
| - EXPECT_FALSE([controller editingNewException]);
|
| -
|
| - [controller close];
|
| -}
|
| -
|
| -// Regression test for http://crbug.com/37208
|
| -TEST_F(ContentExceptionsWindowControllerTest, AddEditAddAdd) {
|
| - ContentExceptionsWindowController* controller =
|
| - GetController(CONTENT_SETTINGS_TYPE_PLUGINS);
|
| -
|
| - ClickAdd(controller);
|
| - EnterText(@"testtesttest"); // but do not press enter
|
| - ClickAdd(controller);
|
| - ClickAdd(controller);
|
| -
|
| - EXPECT_TRUE([controller editingNewException]);
|
| - [controller close];
|
| -
|
| - HostContentSettingsMap::SettingsForOneType settings;
|
| - settingsMap_->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_PLUGINS,
|
| - "",
|
| - &settings);
|
| - EXPECT_EQ(0u, settings.size());
|
| -}
|
| -
|
| -TEST_F(ContentExceptionsWindowControllerTest, AddExistingEditAdd) {
|
| - settingsMap_->SetContentSetting(ContentSettingsPattern("myhost"),
|
| - CONTENT_SETTINGS_TYPE_PLUGINS,
|
| - "",
|
| - CONTENT_SETTING_BLOCK);
|
| -
|
| - ContentExceptionsWindowController* controller =
|
| - GetController(CONTENT_SETTINGS_TYPE_PLUGINS);
|
| -
|
| - ClickAdd(controller);
|
| - EnterText(@"myhost"); // but do not press enter
|
| - ClickAdd(controller);
|
| -
|
| - EXPECT_TRUE([controller editingNewException]);
|
| - [controller close];
|
| -
|
| -
|
| - HostContentSettingsMap::SettingsForOneType settings;
|
| - settingsMap_->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_PLUGINS,
|
| - "",
|
| - &settings);
|
| - EXPECT_EQ(1u, settings.size());
|
| -}
|
| -
|
| -TEST_F(ContentExceptionsWindowControllerTest, AddExistingDoesNotOverwrite) {
|
| - settingsMap_->SetContentSetting(ContentSettingsPattern("myhost"),
|
| - CONTENT_SETTINGS_TYPE_COOKIES,
|
| - "",
|
| - CONTENT_SETTING_SESSION_ONLY);
|
| -
|
| - ContentExceptionsWindowController* controller =
|
| - GetController(CONTENT_SETTINGS_TYPE_COOKIES);
|
| -
|
| - ClickAdd(controller);
|
| - EnterText(@"myhost\n");
|
| -
|
| - EXPECT_FALSE([controller editingNewException]);
|
| - [controller close];
|
| -
|
| - HostContentSettingsMap::SettingsForOneType settings;
|
| - settingsMap_->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_COOKIES,
|
| - "",
|
| - &settings);
|
| - EXPECT_EQ(1u, settings.size());
|
| - EXPECT_EQ(CONTENT_SETTING_SESSION_ONLY, settings[0].second);
|
| -}
|
| -
|
| -
|
| -} // namespace
|
|
|