summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-18 19:30:13 +0000
committerdmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-18 19:30:13 +0000
commit90394da3fd482e90f09eed7c8b6edeaeaf631f3d (patch)
tree893e18231aed6f8844d4641e71af090482562843
parent0813d3833643751dc57889f7b2306ce96b6e3a66 (diff)
downloadchromium_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.mm69
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;
}
}