• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
24class FullscreenWindowTest : public CocoaTest {
25};
26
27TEST_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
39TEST_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