RunnerTests.m 1.28 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// Copyright 2014 The Flutter 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 <FlutterMacOS/FlutterMacOS.h>
#import <XCTest/XCTest.h>

@interface RunnerTests : XCTestCase
@end

@implementation RunnerTests

- (void)testMenu {
  NSMenu *applicationMenu = ((FlutterAppDelegate *)NSApplication.sharedApplication.delegate).applicationMenu;
  XCTAssertEqual(applicationMenu.numberOfItems, 11);
16
  XCTAssertEqualObjects([applicationMenu itemAtIndex:0].title, @"About Flutter Gallery");
17 18 19 20

  NSMenu *mainMenu = NSApplication.sharedApplication.mainMenu;
  XCTAssertEqual([mainMenu indexOfItemWithSubmenu:applicationMenu], 0);

21 22 23 24 25
  // The number of submenu items changes depending on what the OS decides to inject.
  // Just check there's at least one per menu item.
  XCTAssertGreaterThanOrEqual([mainMenu itemWithTitle:@"Edit"].submenu.numberOfItems, 1);
  XCTAssertGreaterThanOrEqual([mainMenu itemWithTitle:@"View"].submenu.numberOfItems, 1);
  XCTAssertGreaterThanOrEqual([mainMenu itemWithTitle:@"Window"].submenu.numberOfItems, 1);
26

27 28 29 30
  NSMenu *helpMenu = NSApplication.sharedApplication.helpMenu;
  XCTAssertNotNil(helpMenu);
  // Only the help menu search text box.
  XCTAssertEqual(helpMenu.numberOfItems, 0);
31 32 33
}

@end