From a4a6305ba267ffa57c0d94d3868366b8a5f5a848 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Fri, 1 Oct 2021 16:06:53 -0400 Subject: [PATCH 1/5] [webview_flutter] Adjust test URLs again These tests are once again having issues, suggesting that example.com may not have been a good choice of URL. Instead use the google.com robots page, which presumably isn't subject to bot redirection like the original problem that led to replacing google.com with example.com. Also replaces the common test URLs with constants to make switching again easier, per a comment in the previous PR. Speculative fix for https://github.com/flutter/flutter/issues/91112 --- .../webview_flutter_test.dart | 47 +++++++++++-------- .../webview_flutter_test.dart | 47 +++++++++++-------- .../webview_flutter_test.dart | 47 +++++++++++-------- 3 files changed, 81 insertions(+), 60 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 896366798b18..60d1c4e702a7 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -18,6 +18,13 @@ import 'package:integration_test/integration_test.dart'; void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + // URLs to navigate to in tests. These need to be URLs that we are confident will + // always be accessible, and won't do redirection. (E.g., just + // 'https://www.google.com/' will sometimes redirect traffic that looks + // like it's coming from a bot, which is true of these tests). + const String primaryUrl = 'https://flutter.dev'; + const String secondaryUrl = 'https://www.google.com/robots.txt'; + const bool _skipDueToIssue86757 = true; // TODO(bparrishMines): skipped due to https://github.com/flutter/flutter/issues/86757. @@ -29,7 +36,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, @@ -38,7 +45,7 @@ void main() { ); final WebViewController controller = await controllerCompleter.future; final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://flutter.dev/'); + expect(currentUrl, primaryUrl); }, skip: _skipDueToIssue86757); // TODO(bparrishMines): skipped due to https://github.com/flutter/flutter/issues/86757. @@ -50,7 +57,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, @@ -58,9 +65,9 @@ void main() { ), ); final WebViewController controller = await controllerCompleter.future; - await controller.loadUrl('https://www.example.com/'); + await controller.loadUrl(secondaryUrl); final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://www.example.com/'); + expect(currentUrl, secondaryUrl); }, skip: _skipDueToIssue86757); // TODO(bparrishMines): skipped due to https://github.com/flutter/flutter/issues/86757. @@ -74,7 +81,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, @@ -292,7 +299,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: _globalKey, - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, javascriptMode: JavascriptMode.unrestricted, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); @@ -1100,11 +1107,11 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; await controller - .evaluateJavascript('location.href = "https://www.example.com/"'); + .evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for the next page load. final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://www.example.com/'); + expect(currentUrl, secondaryUrl); }); testWidgets('onWebResourceError', (WidgetTester tester) async { @@ -1272,11 +1279,11 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; await controller - .evaluateJavascript('location.href = "https://www.example.com"'); + .evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for second page to load. final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://www.example.com/'); + expect(currentUrl, secondaryUrl); }); }); @@ -1292,7 +1299,7 @@ void main() { height: 300, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, gestureNavigationEnabled: true, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); @@ -1303,7 +1310,7 @@ void main() { ); final WebViewController controller = await controllerCompleter.future; final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://flutter.dev/'); + expect(currentUrl, primaryUrl); }); testWidgets('target _blank opens in same window', @@ -1328,10 +1335,10 @@ void main() { ); final WebViewController controller = await controllerCompleter.future; await controller - .evaluateJavascript('window.open("https://flutter.dev/", "_blank")'); + .evaluateJavascript('window.open("$primaryUrl", "_blank")'); await pageLoaded.future; final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://flutter.dev/'); + expect(currentUrl, primaryUrl); }, // Flaky on Android: https://github.com/flutter/flutter/issues/86757 skip: Platform.isAndroid && _skipDueToIssue86757); @@ -1355,25 +1362,25 @@ void main() { onPageFinished: (String url) { pageLoaded.complete(); }, - initialUrl: 'https://flutter.dev', + initialUrl: primaryUrl, ), ), ); final WebViewController controller = await controllerCompleter.future; - expect(controller.currentUrl(), completion('https://flutter.dev/')); + expect(controller.currentUrl(), completion(primaryUrl)); await pageLoaded.future; pageLoaded = Completer(); await controller - .evaluateJavascript('window.open("https://www.example.com/")'); + .evaluateJavascript('window.open("$secondaryUrl")'); await pageLoaded.future; pageLoaded = Completer(); - expect(controller.currentUrl(), completion('https://www.example.com/')); + expect(controller.currentUrl(), completion(secondaryUrl)); expect(controller.canGoBack(), completion(true)); await controller.goBack(); await pageLoaded.future; - expect(controller.currentUrl(), completion('https://flutter.dev/')); + expect(controller.currentUrl(), completion(primaryUrl)); }, skip: _skipDueToIssue86757, ); diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart index 3dab048c8ff2..30f5dece0dde 100644 --- a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart @@ -22,6 +22,13 @@ import 'package:webview_flutter_platform_interface/webview_flutter_platform_inte void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + // URLs to navigate to in tests. These need to be URLs that we are confident will + // always be accessible, and won't do redirection. (E.g., just + // 'https://www.google.com/' will sometimes redirect traffic that looks + // like it's coming from a bot, which is true of these tests). + const String primaryUrl = 'https://flutter.dev'; + const String secondaryUrl = 'https://www.google.com/robots.txt'; + const bool _skipDueToIssue86757 = true; // TODO(bparrishMines): skipped due to https://github.com/flutter/flutter/issues/86757. @@ -34,7 +41,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, @@ -44,7 +51,7 @@ void main() { ); final WebViewController controller = await controllerCompleter.future; final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://flutter.dev/'); + expect(currentUrl, primaryUrl); }, skip: _skipDueToIssue86757); // TODO(bparrishMines): skipped due to https://github.com/flutter/flutter/issues/86757. @@ -56,7 +63,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, @@ -64,9 +71,9 @@ void main() { ), ); final WebViewController controller = await controllerCompleter.future; - await controller.loadUrl('https://www.example.com/'); + await controller.loadUrl(secondaryUrl); final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://www.example.com/'); + expect(currentUrl, secondaryUrl); }, skip: _skipDueToIssue86757); // TODO(bparrishMines): skipped due to https://github.com/flutter/flutter/issues/86757. @@ -80,7 +87,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, @@ -298,7 +305,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: _globalKey, - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, javascriptMode: JavascriptMode.unrestricted, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); @@ -1054,11 +1061,11 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; await controller - .evaluateJavascript('location.href = "https://www.example.com/"'); + .evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for the next page load. final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://www.example.com/'); + expect(currentUrl, secondaryUrl); }); testWidgets('onWebResourceError', (WidgetTester tester) async { @@ -1221,11 +1228,11 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; await controller - .evaluateJavascript('location.href = "https://www.example.com"'); + .evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for second page to load. final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://www.example.com/'); + expect(currentUrl, secondaryUrl); }); }); @@ -1241,7 +1248,7 @@ void main() { height: 300, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, gestureNavigationEnabled: true, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); @@ -1252,7 +1259,7 @@ void main() { ); final WebViewController controller = await controllerCompleter.future; final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://flutter.dev/'); + expect(currentUrl, primaryUrl); }); testWidgets('target _blank opens in same window', @@ -1277,10 +1284,10 @@ void main() { ); final WebViewController controller = await controllerCompleter.future; await controller - .evaluateJavascript('window.open("https://flutter.dev/", "_blank")'); + .evaluateJavascript('window.open("$primaryUrl", "_blank")'); await pageLoaded.future; final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://flutter.dev/'); + expect(currentUrl, primaryUrl); }, // Flaky on Android: https://github.com/flutter/flutter/issues/86757 skip: _skipDueToIssue86757); @@ -1304,25 +1311,25 @@ void main() { onPageFinished: (String url) { pageLoaded.complete(); }, - initialUrl: 'https://flutter.dev', + initialUrl: primaryUrl, ), ), ); final WebViewController controller = await controllerCompleter.future; - expect(controller.currentUrl(), completion('https://flutter.dev/')); + expect(controller.currentUrl(), completion(primaryUrl)); await pageLoaded.future; pageLoaded = Completer(); await controller - .evaluateJavascript('window.open("https://www.example.com/")'); + .evaluateJavascript('window.open("$secondaryUrl")'); await pageLoaded.future; pageLoaded = Completer(); - expect(controller.currentUrl(), completion('https://www.example.com/')); + expect(controller.currentUrl(), completion(secondaryUrl)); expect(controller.canGoBack(), completion(true)); await controller.goBack(); await pageLoaded.future; - expect(controller.currentUrl(), completion('https://flutter.dev/')); + expect(controller.currentUrl(), completion(primaryUrl)); }, skip: _skipDueToIssue86757, ); diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart index c080c46120ec..350ccfd90d05 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart @@ -20,6 +20,13 @@ import 'package:webview_flutter_wkwebview_example/web_view.dart'; void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + // URLs to navigate to in tests. These need to be URLs that we are confident will + // always be accessible, and won't do redirection. (E.g., just + // 'https://www.google.com/' will sometimes redirect traffic that looks + // like it's coming from a bot, which is true of these tests). + const String primaryUrl = 'https://flutter.dev'; + const String secondaryUrl = 'https://www.google.com/robots.txt'; + // Set to `false` to include all flaky tests in the test run. See also https://github.com/flutter/flutter/issues/86757. const bool _skipDueToIssue86757 = false; @@ -32,7 +39,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, @@ -41,7 +48,7 @@ void main() { ); final WebViewController controller = await controllerCompleter.future; final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://flutter.dev/'); + expect(currentUrl, primaryUrl); }, skip: _skipDueToIssue86757); // TODO(bparrishMines): skipped due to https://github.com/flutter/flutter/issues/86757. @@ -53,7 +60,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, @@ -61,9 +68,9 @@ void main() { ), ); final WebViewController controller = await controllerCompleter.future; - await controller.loadUrl('https://www.example.com/'); + await controller.loadUrl(secondaryUrl); final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://www.example.com/'); + expect(currentUrl, secondaryUrl); }, skip: _skipDueToIssue86757); testWidgets('loadUrl with headers', (WidgetTester tester) async { @@ -76,7 +83,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); }, @@ -292,7 +299,7 @@ void main() { textDirection: TextDirection.ltr, child: WebView( key: _globalKey, - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, javascriptMode: JavascriptMode.unrestricted, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); @@ -913,11 +920,11 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; await controller - .evaluateJavascript('location.href = "https://www.example.com/"'); + .evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for the next page load. final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://www.example.com/'); + expect(currentUrl, secondaryUrl); }); testWidgets('onWebResourceError', (WidgetTester tester) async { @@ -1085,11 +1092,11 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; await controller - .evaluateJavascript('location.href = "https://www.example.com"'); + .evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for second page to load. final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://www.example.com/'); + expect(currentUrl, secondaryUrl); }); }); @@ -1105,7 +1112,7 @@ void main() { height: 300, child: WebView( key: GlobalKey(), - initialUrl: 'https://flutter.dev/', + initialUrl: primaryUrl, gestureNavigationEnabled: true, onWebViewCreated: (WebViewController controller) { controllerCompleter.complete(controller); @@ -1116,7 +1123,7 @@ void main() { ); final WebViewController controller = await controllerCompleter.future; final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://flutter.dev/'); + expect(currentUrl, primaryUrl); }); testWidgets('target _blank opens in same window', @@ -1141,10 +1148,10 @@ void main() { ); final WebViewController controller = await controllerCompleter.future; await controller - .evaluateJavascript('window.open("https://flutter.dev/", "_blank")'); + .evaluateJavascript('window.open("$primaryUrl", "_blank")'); await pageLoaded.future; final String? currentUrl = await controller.currentUrl(); - expect(currentUrl, 'https://flutter.dev/'); + expect(currentUrl, primaryUrl); }); // TODO(bparrishMines): skipped due to https://github.com/flutter/flutter/issues/86757. @@ -1166,25 +1173,25 @@ void main() { onPageFinished: (String url) { pageLoaded.complete(); }, - initialUrl: 'https://flutter.dev', + initialUrl: primaryUrl, ), ), ); final WebViewController controller = await controllerCompleter.future; - expect(controller.currentUrl(), completion('https://flutter.dev/')); + expect(controller.currentUrl(), completion(primaryUrl)); await pageLoaded.future; pageLoaded = Completer(); await controller - .evaluateJavascript('window.open("https://www.example.com/")'); + .evaluateJavascript('window.open("$secondaryUrl")'); await pageLoaded.future; pageLoaded = Completer(); - expect(controller.currentUrl(), completion('https://www.example.com/')); + expect(controller.currentUrl(), completion(secondaryUrl)); expect(controller.canGoBack(), completion(true)); await controller.goBack(); await pageLoaded.future; - expect(controller.currentUrl(), completion('https://flutter.dev/')); + expect(controller.currentUrl(), completion(primaryUrl)); }, skip: _skipDueToIssue86757, ); From f7a8640001d5a2a495244bf4987e4ad14206fbdb Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Fri, 1 Oct 2021 16:43:58 -0400 Subject: [PATCH 2/5] Add trailing / --- .../example/integration_test/webview_flutter_test.dart | 2 +- .../example/integration_test/webview_flutter_test.dart | 2 +- .../example/integration_test/webview_flutter_test.dart | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 60d1c4e702a7..a841d56c3ef3 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -22,7 +22,7 @@ void main() { // always be accessible, and won't do redirection. (E.g., just // 'https://www.google.com/' will sometimes redirect traffic that looks // like it's coming from a bot, which is true of these tests). - const String primaryUrl = 'https://flutter.dev'; + const String primaryUrl = 'https://flutter.dev/'; const String secondaryUrl = 'https://www.google.com/robots.txt'; const bool _skipDueToIssue86757 = true; diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart index 30f5dece0dde..71017807ed62 100644 --- a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart @@ -26,7 +26,7 @@ void main() { // always be accessible, and won't do redirection. (E.g., just // 'https://www.google.com/' will sometimes redirect traffic that looks // like it's coming from a bot, which is true of these tests). - const String primaryUrl = 'https://flutter.dev'; + const String primaryUrl = 'https://flutter.dev/'; const String secondaryUrl = 'https://www.google.com/robots.txt'; const bool _skipDueToIssue86757 = true; diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart index 350ccfd90d05..4186890ffcae 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart @@ -24,7 +24,7 @@ void main() { // always be accessible, and won't do redirection. (E.g., just // 'https://www.google.com/' will sometimes redirect traffic that looks // like it's coming from a bot, which is true of these tests). - const String primaryUrl = 'https://flutter.dev'; + const String primaryUrl = 'https://flutter.dev/'; const String secondaryUrl = 'https://www.google.com/robots.txt'; // Set to `false` to include all flaky tests in the test run. See also https://github.com/flutter/flutter/issues/86757. From 540327b531493c54867e274d80c53f7dff4670ec Mon Sep 17 00:00:00 2001 From: stuartmorgan Date: Fri, 1 Oct 2021 15:52:40 -0700 Subject: [PATCH 3/5] Format --- .../integration_test/webview_flutter_test.dart | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart index 71017807ed62..c57d2bd55580 100644 --- a/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_android/example/integration_test/webview_flutter_test.dart @@ -1060,8 +1060,7 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; - await controller - .evaluateJavascript('location.href = "$secondaryUrl"'); + await controller.evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for the next page load. final String? currentUrl = await controller.currentUrl(); @@ -1227,8 +1226,7 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; - await controller - .evaluateJavascript('location.href = "$secondaryUrl"'); + await controller.evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for second page to load. final String? currentUrl = await controller.currentUrl(); @@ -1283,8 +1281,7 @@ void main() { ), ); final WebViewController controller = await controllerCompleter.future; - await controller - .evaluateJavascript('window.open("$primaryUrl", "_blank")'); + await controller.evaluateJavascript('window.open("$primaryUrl", "_blank")'); await pageLoaded.future; final String? currentUrl = await controller.currentUrl(); expect(currentUrl, primaryUrl); @@ -1320,8 +1317,7 @@ void main() { await pageLoaded.future; pageLoaded = Completer(); - await controller - .evaluateJavascript('window.open("$secondaryUrl")'); + await controller.evaluateJavascript('window.open("$secondaryUrl")'); await pageLoaded.future; pageLoaded = Completer(); expect(controller.currentUrl(), completion(secondaryUrl)); From b1e19ae337e664afd643e70162740a0667824f99 Mon Sep 17 00:00:00 2001 From: stuartmorgan Date: Fri, 1 Oct 2021 15:53:36 -0700 Subject: [PATCH 4/5] Format --- .../integration_test/webview_flutter_test.dart | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart index 4186890ffcae..8ba17a2428c5 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart @@ -919,8 +919,7 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; - await controller - .evaluateJavascript('location.href = "$secondaryUrl"'); + await controller.evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for the next page load. final String? currentUrl = await controller.currentUrl(); @@ -1091,8 +1090,7 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; - await controller - .evaluateJavascript('location.href = "$secondaryUrl"'); + await controller.evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for second page to load. final String? currentUrl = await controller.currentUrl(); @@ -1147,8 +1145,7 @@ void main() { ), ); final WebViewController controller = await controllerCompleter.future; - await controller - .evaluateJavascript('window.open("$primaryUrl", "_blank")'); + await controller.evaluateJavascript('window.open("$primaryUrl", "_blank")'); await pageLoaded.future; final String? currentUrl = await controller.currentUrl(); expect(currentUrl, primaryUrl); @@ -1182,8 +1179,7 @@ void main() { await pageLoaded.future; pageLoaded = Completer(); - await controller - .evaluateJavascript('window.open("$secondaryUrl")'); + await controller.evaluateJavascript('window.open("$secondaryUrl")'); await pageLoaded.future; pageLoaded = Completer(); expect(controller.currentUrl(), completion(secondaryUrl)); From 6d88e4cf485be359ebf3eb7f5204631e997880c4 Mon Sep 17 00:00:00 2001 From: stuartmorgan Date: Sat, 2 Oct 2021 06:48:55 -0700 Subject: [PATCH 5/5] Format --- .../integration_test/webview_flutter_test.dart | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index a841d56c3ef3..3379bafa2346 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -1106,8 +1106,7 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; - await controller - .evaluateJavascript('location.href = "$secondaryUrl"'); + await controller.evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for the next page load. final String? currentUrl = await controller.currentUrl(); @@ -1278,8 +1277,7 @@ void main() { await pageLoads.stream.first; // Wait for initial page load. final WebViewController controller = await controllerCompleter.future; - await controller - .evaluateJavascript('location.href = "$secondaryUrl"'); + await controller.evaluateJavascript('location.href = "$secondaryUrl"'); await pageLoads.stream.first; // Wait for second page to load. final String? currentUrl = await controller.currentUrl(); @@ -1334,8 +1332,7 @@ void main() { ), ); final WebViewController controller = await controllerCompleter.future; - await controller - .evaluateJavascript('window.open("$primaryUrl", "_blank")'); + await controller.evaluateJavascript('window.open("$primaryUrl", "_blank")'); await pageLoaded.future; final String? currentUrl = await controller.currentUrl(); expect(currentUrl, primaryUrl); @@ -1371,8 +1368,7 @@ void main() { await pageLoaded.future; pageLoaded = Completer(); - await controller - .evaluateJavascript('window.open("$secondaryUrl")'); + await controller.evaluateJavascript('window.open("$secondaryUrl")'); await pageLoaded.future; pageLoaded = Completer(); expect(controller.currentUrl(), completion(secondaryUrl));