Home | History | Annotate | Download | only in cocoa
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "base/memory/scoped_ptr.h"
      6 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h"
      7 #include "chrome/browser/ui/cocoa/fullscreen_window.h"
      8 #include "testing/gtest/include/gtest/gtest.h"
      9 #include "testing/platform_test.h"
     10 
     11 @interface PerformCloseUIItem : NSObject<NSValidatedUserInterfaceItem>
     12 @end
     13 
     14 @implementation PerformCloseUIItem
     15 - (SEL)action {
     16   return @selector(performClose:);
     17 }
     18 
     19 - (NSInteger)tag {
     20   return 0;
     21 }
     22 @end
     23 
     24 class FullscreenWindowTest : public CocoaTest {
     25 };
     26 
     27 TEST_F(FullscreenWindowTest, Basics) {
     28   scoped_nsobject<FullscreenWindow> window;
     29   window.reset([[FullscreenWindow alloc] init]);
     30 
     31   EXPECT_EQ([NSScreen mainScreen], [window screen]);
     32   EXPECT_TRUE([window canBecomeKeyWindow]);
     33   EXPECT_TRUE([window canBecomeMainWindow]);
     34   EXPECT_EQ(NSBorderlessWindowMask, [window styleMask]);
     35   EXPECT_TRUE(NSEqualRects([[NSScreen mainScreen] frame], [window frame]));
     36   EXPECT_FALSE([window isReleasedWhenClosed]);
     37 }
     38 
     39 TEST_F(FullscreenWindowTest, CanPerformClose) {
     40   scoped_nsobject<FullscreenWindow> window;
     41   window.reset([[FullscreenWindow alloc] init]);
     42 
     43   scoped_nsobject<PerformCloseUIItem> item;
     44   item.reset([[PerformCloseUIItem alloc] init]);
     45 
     46   EXPECT_TRUE([window validateUserInterfaceItem:item.get()]);
     47 }
     48