| // 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 <EarlGreyTest/EarlGrey.h> |
| #import <XCTest/XCTest.h> |
| |
| #import "AppDelegate.h" |
| #import "FullScreenViewController.h" |
| |
| @interface FlutterTests : XCTestCase |
| @end |
| |
| @implementation FlutterTests |
| |
| - (void)setUp { |
| self.continueAfterFailure = NO; |
| XCUIApplication *app = [[XCUIApplication alloc] init]; |
| [app launch]; |
| } |
| |
| - (void)testFullScreenCanPop { |
| XCTestExpectation *notificationReceived = [self expectationWithDescription:@"Remote semantics notification"]; |
| NSNotificationCenter *notificationCenter = [[GREYHostApplicationDistantObject sharedInstance] notificationCenter]; |
| id observer = [notificationCenter addObserverForName:FlutterSemanticsUpdateNotification object:nil queue:nil usingBlock:^(NSNotification *notification) { |
| XCTAssertTrue([notification.object isKindOfClass:GREY_REMOTE_CLASS_IN_APP(FullScreenViewController)]); |
| [notificationReceived fulfill]; |
| }]; |
| |
| [[EarlGrey selectElementWithMatcher:grey_keyWindow()] |
| assertWithMatcher:grey_sufficientlyVisible()]; |
| [[EarlGrey selectElementWithMatcher:grey_buttonTitle(@"Full Screen (Cold)")] |
| performAction:grey_tap()]; |
| |
| [self waitForExpectationsWithTimeout:30.0 handler:nil]; |
| [notificationCenter removeObserver:observer]; |
| } |
| |
| @end |