Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Instance Methods | Properties | List of all members
FlutterViewControllerInitialRouteTest Class Reference
Inheritance diagram for FlutterViewControllerInitialRouteTest:

Instance Methods

(void) - setUp [implementation]
 
(void) - tearDown [implementation]
 
(void) - testSettingInitialRoute [implementation]
 

Properties

FlutterViewControllerflutterViewController
 

Detailed Description

Definition at line 12 of file FlutterViewControllerInitialRouteTest.m.

Method Documentation

◆ setUp

- (void) setUp
implementation

Definition at line 13 of file FlutterViewControllerInitialRouteTest.m.

20 {
21 [super setUp];
22 self.continueAfterFailure = NO;
23}

◆ tearDown

- (void) tearDown
implementation

Definition at line 13 of file FlutterViewControllerInitialRouteTest.m.

25 {
26 if (self.flutterViewController) {
27 XCTestExpectation* vcDismissed = [self expectationWithDescription:@"dismiss"];
28 [self.flutterViewController dismissViewControllerAnimated:NO
29 completion:^{
30 [vcDismissed fulfill];
31 }];
32 [self waitForExpectationsWithTimeout:10.0 handler:nil];
33 }
34 [super tearDown];
35}

◆ testSettingInitialRoute

- (void) testSettingInitialRoute
implementation

Definition at line 13 of file FlutterViewControllerInitialRouteTest.m.

37 {
38 self.flutterViewController =
39 [[FlutterViewController alloc] initWithProject:nil
40 initialRoute:@"myCustomInitialRoute"
41 nibName:nil
42 bundle:nil];
43
44 NSObject<FlutterBinaryMessenger>* binaryMessenger = self.flutterViewController.binaryMessenger;
45 __weak typeof(binaryMessenger) weakBinaryMessenger = binaryMessenger;
46
47 FlutterBinaryMessengerConnection waitingForStatusConnection = [binaryMessenger
48 setMessageHandlerOnChannel:@"waiting_for_status"
49 binaryMessageHandler:^(NSData* message, FlutterBinaryReply reply) {
51 methodChannelWithName:@"driver"
52 binaryMessenger:weakBinaryMessenger
54 [channel invokeMethod:@"set_scenario" arguments:@{@"name" : @"initial_route_reply"}];
55 }];
56
57 XCTestExpectation* customInitialRouteSet =
58 [self expectationWithDescription:@"Custom initial route was set on the Dart side"];
59 FlutterBinaryMessengerConnection initialRoutTestChannelConnection =
60 [binaryMessenger setMessageHandlerOnChannel:@"initial_route_test_channel"
61 binaryMessageHandler:^(NSData* message, FlutterBinaryReply reply) {
62 NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:message
63 options:0
64 error:nil];
65 NSString* initialRoute = dict[@"method"];
66 if ([initialRoute isEqualToString:@"myCustomInitialRoute"]) {
67 [customInitialRouteSet fulfill];
68 } else {
69 XCTFail(@"Expected initial route to be set to "
70 @"myCustomInitialRoute. Was set to %@ instead",
71 initialRoute);
72 }
73 }];
74
75 AppDelegate* appDelegate = (AppDelegate*)UIApplication.sharedApplication.delegate;
76 UIViewController* rootVC = appDelegate.window.rootViewController;
77 [rootVC presentViewController:self.flutterViewController animated:NO completion:nil];
78
79 [self waitForExpectationsWithTimeout:30.0 handler:nil];
80
81 [binaryMessenger cleanUpConnection:waitingForStatusConnection];
82 [binaryMessenger cleanUpConnection:initialRoutTestChannelConnection];
83}
int64_t FlutterBinaryMessengerConnection
instancetype sharedInstance()
instancetype methodChannelWithName:binaryMessenger:codec:(NSString *name,[binaryMessenger] NSObject< FlutterBinaryMessenger > *messenger,[codec] NSObject< FlutterMethodCodec > *codec)

Property Documentation

◆ flutterViewController

- (FlutterViewController*) flutterViewController
readwritenonatomicstrong

Definition at line 13 of file FlutterViewControllerInitialRouteTest.m.


The documentation for this class was generated from the following file: