| // 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); |
| XCTAssertEqualObjects([applicationMenu itemAtIndex:0].title, @"About flutter_gallery"); |
| |
| NSMenu *mainMenu = NSApplication.sharedApplication.mainMenu; |
| XCTAssertEqual([mainMenu indexOfItemWithSubmenu:applicationMenu], 0); |
| |
| // 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); |
| |
| NSMenu *helpMenu = NSApplication.sharedApplication.helpMenu; |
| XCTAssertNotNil(helpMenu); |
| // Only the help menu search text box. |
| XCTAssertEqual(helpMenu.numberOfItems, 0); |
| } |
| |
| @end |