blob: b9bca89355ada0a28a6dfdc8e06c20a45b7a40ec [file] [log] [blame]
// 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