diff options
author | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-18 19:30:13 +0000 |
---|---|---|
committer | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-18 19:30:13 +0000 |
commit | 90394da3fd482e90f09eed7c8b6edeaeaf631f3d (patch) | |
tree | 893e18231aed6f8844d4641e71af090482562843 | |
parent | 0813d3833643751dc57889f7b2306ce96b6e3a66 (diff) | |
download | chromium_src-90394da3fd482e90f09eed7c8b6edeaeaf631f3d.zip chromium_src-90394da3fd482e90f09eed7c8b6edeaeaf631f3d.tar.gz chromium_src-90394da3fd482e90f09eed7c8b6edeaeaf631f3d.tar.bz2 |
move chrome_browser_window_unittest over to cocoatest
renable some disabled tests.
BUG=24732
TEST=none
Review URL: http://codereview.chromium.org/402055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32369 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/cocoa/chrome_browser_window_unittest.mm | 69 |
1 files changed, 54 insertions, 15 deletions
diff --git a/chrome/browser/cocoa/chrome_browser_window_unittest.mm b/chrome/browser/cocoa/chrome_browser_window_unittest.mm index 4982918..6ac0a8f 100644 --- a/chrome/browser/cocoa/chrome_browser_window_unittest.mm +++ b/chrome/browser/cocoa/chrome_browser_window_unittest.mm @@ -12,18 +12,20 @@ #import "chrome/browser/cocoa/cocoa_test_helper.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/platform_test.h" +#import "third_party/ocmock/OCMock/OCMock.h" -class ChromeBrowserWindowTest : public PlatformTest { +class ChromeBrowserWindowTest : public CocoaTest { public: - ChromeBrowserWindowTest() { + virtual void SetUp() { + CocoaTest::SetUp(); // Create a window. const NSUInteger mask = NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask; - window_.reset([[ChromeBrowserWindow alloc] - initWithContentRect:NSMakeRect(0, 0, 800, 600) - styleMask:mask - backing:NSBackingStoreBuffered - defer:NO]); + window_ = [[ChromeBrowserWindow alloc] + initWithContentRect:NSMakeRect(0, 0, 800, 600) + styleMask:mask + backing:NSBackingStoreBuffered + defer:NO]; if (DebugUtil::BeingDebugged()) { [window_ orderFront:nil]; } else { @@ -31,6 +33,11 @@ class ChromeBrowserWindowTest : public PlatformTest { } } + virtual void TearDown() { + [window_ close]; + CocoaTest::TearDown(); + } + // Returns a canonical snapshot of the window. NSData* WindowContentsAsTIFF() { NSRect frame([window_ frame]); @@ -44,8 +51,7 @@ class ChromeBrowserWindowTest : public PlatformTest { return [image TIFFRepresentation]; } - CocoaNoWindowTestHelper cocoa_helper_; - scoped_nsobject<ChromeBrowserWindow> window_; + ChromeBrowserWindow* window_; }; // Baseline test that the window creates, displays, closes, and @@ -86,7 +92,8 @@ TEST_F(ChromeBrowserWindowTest, DoesHideTitle) { } // Test to make sure that our window widgets are in the right place. -TEST_F(ChromeBrowserWindowTest, DISABLED_WindowWidgetLocation) { +TEST_F(ChromeBrowserWindowTest, WindowWidgetLocation) { + // First without tabstrip. NSCell* closeBoxCell = [window_ accessibilityAttributeValue: NSAccessibilityCloseButtonAttribute]; NSView* closeBoxControl = [closeBoxCell controlView]; @@ -96,7 +103,7 @@ TEST_F(ChromeBrowserWindowTest, DISABLED_WindowWidgetLocation) { windowBounds.origin = NSZeroPoint; EXPECT_EQ(NSMaxY(closeBoxFrame), NSMaxY(windowBounds) - - kChromeWindowButtonsWithTabStripOffsetFromTop); + kChromeWindowButtonsWithoutTabStripOffsetFromTop); EXPECT_EQ(NSMinX(closeBoxFrame), kChromeWindowButtonsOffsetFromLeft); NSCell* miniaturizeCell = [window_ accessibilityAttributeValue: @@ -106,15 +113,47 @@ TEST_F(ChromeBrowserWindowTest, DISABLED_WindowWidgetLocation) { NSRect miniaturizeFrame = [miniaturizeControl frame]; EXPECT_EQ(NSMaxY(miniaturizeFrame), NSMaxY(windowBounds) - + kChromeWindowButtonsWithoutTabStripOffsetFromTop); + EXPECT_EQ(NSMinX(miniaturizeFrame), + NSMaxX(closeBoxFrame) + kChromeWindowButtonsInterButtonSpacing); + + // Then with a tabstrip. + id controller = [OCMockObject mockForClass:[BrowserWindowController class]]; + BOOL yes = YES; + [[[controller stub] andReturnValue:OCMOCK_VALUE(yes)] + isKindOfClass:[BrowserWindowController class]]; + [[[controller expect] andReturnValue:OCMOCK_VALUE(yes)] isNormalWindow]; + [window_ setWindowController:controller]; + + closeBoxCell = [window_ accessibilityAttributeValue: + NSAccessibilityCloseButtonAttribute]; + closeBoxControl = [closeBoxCell controlView]; + EXPECT_TRUE(closeBoxControl); + closeBoxFrame = [closeBoxControl frame]; + windowBounds = [window_ frame]; + windowBounds.origin = NSZeroPoint; + EXPECT_EQ(NSMaxY(closeBoxFrame), + NSMaxY(windowBounds) - + kChromeWindowButtonsWithTabStripOffsetFromTop); + EXPECT_EQ(NSMinX(closeBoxFrame), kChromeWindowButtonsOffsetFromLeft); + + miniaturizeCell = [window_ accessibilityAttributeValue: + NSAccessibilityMinimizeButtonAttribute]; + miniaturizeControl = [miniaturizeCell controlView]; + EXPECT_TRUE(miniaturizeControl); + miniaturizeFrame = [miniaturizeControl frame]; + EXPECT_EQ(NSMaxY(miniaturizeFrame), + NSMaxY(windowBounds) - kChromeWindowButtonsWithTabStripOffsetFromTop); EXPECT_EQ(NSMinX(miniaturizeFrame), NSMaxX(closeBoxFrame) + kChromeWindowButtonsInterButtonSpacing); + [window_ setWindowController:nil]; } // Test that we actually have a tracking area in place. -TEST_F(ChromeBrowserWindowTest, DISABLED_WindowWidgetTrackingArea) { - NSCell* closeBoxCell = [window_ accessibilityAttributeValue: - NSAccessibilityCloseButtonAttribute]; +TEST_F(ChromeBrowserWindowTest, WindowWidgetTrackingArea) { + NSCell* closeBoxCell = + [window_ accessibilityAttributeValue:NSAccessibilityCloseButtonAttribute]; NSView* closeBoxControl = [closeBoxCell controlView]; NSView* frameView = [[window_ contentView] superview]; NSArray* trackingAreas = [frameView trackingAreas]; @@ -126,7 +165,7 @@ TEST_F(ChromeBrowserWindowTest, DISABLED_WindowWidgetTrackingArea) { NSRect rect = [area rect]; foundArea = NSPointInRect(point, rect); if (foundArea) { - EXPECT_TRUE([[area owner] isEqual:window_]); + EXPECT_TRUE([[area owner] isEqual:frameView]); break; } } |