part of 'main.dart'; void reload() { final shouldSkip = kIsWeb ? false : ![ TargetPlatform.android, TargetPlatform.iOS, TargetPlatform.macOS, ].contains(defaultTargetPlatform); var url = !kIsWeb ? TEST_URL_1 : TEST_WEB_PLATFORM_URL_1; skippableGroup('reload', () { final shouldSkipTest1 = kIsWeb ? true : ![ TargetPlatform.iOS, TargetPlatform.macOS, ].contains(defaultTargetPlatform); skippableTestWidgets('from origin', (WidgetTester tester) async { final Completer controllerCompleter = Completer(); final Completer pageLoaded = Completer(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, child: InAppWebView( key: GlobalKey(), initialUrlRequest: URLRequest(url: TEST_CROSS_PLATFORM_URL_1), onWebViewCreated: (controller) { controllerCompleter.complete(controller); }, onLoadStop: (controller, url) { if (!pageLoaded.isCompleted) { pageLoaded.complete(); } }, ), ), ); final InAppWebViewController controller = await controllerCompleter.future; await pageLoaded.future; await expectLater(controller.reloadFromOrigin(), completes); }, skip: shouldSkipTest1); skippableTestWidgets('basic', (WidgetTester tester) async { final Completer controllerCompleter = Completer(); final StreamController pageLoads = StreamController.broadcast(); await tester.pumpWidget( Directionality( textDirection: TextDirection.ltr, child: InAppWebView( key: GlobalKey(), initialUrlRequest: URLRequest(url: url), onWebViewCreated: (controller) { controllerCompleter.complete(controller); }, onLoadStop: (controller, url) { pageLoads.add(url!.toString()); }, ), ), ); final InAppWebViewController controller = await controllerCompleter.future; String? reloadUrl = await pageLoads.stream.first; expect(reloadUrl, url.toString()); await controller.reload(); reloadUrl = await pageLoads.stream.first; expect(reloadUrl, url.toString()); pageLoads.close(); }); }, skip: shouldSkip); }