From 5f600c3bdd306f4d64e8ab2f85e9acafc4113630 Mon Sep 17 00:00:00 2001 From: stuartmorgan Date: Tue, 20 Aug 2024 18:55:12 -0400 Subject: [PATCH] More test fixes Make more iOS codepaths iOS/macOS, where they are really about general webview behavior. --- .../integration_test/webview_flutter_test.dart | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 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 e5b754885538..414471881e6d 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 @@ -948,7 +948,7 @@ Future main() async { 'localStorage.getItem("myCat");', ) as String; } catch (exception) { - if (defaultTargetPlatform == TargetPlatform.iOS && + if (_isWKWebView() && exception is ArgumentError && (exception.message as String).contains( 'Result of JavaScript execution returned a `null` value.')) { @@ -960,10 +960,10 @@ Future main() async { ); } -// JavaScript `null` evaluate to different string values on Android and iOS. +// JavaScript `null` evaluate to different string values per platform. // This utility method returns the string boolean value of the current platform. String _webViewNull() { - if (defaultTargetPlatform == TargetPlatform.iOS) { + if (_isWKWebView()) { return ''; } return 'null'; @@ -972,13 +972,17 @@ String _webViewNull() { // JavaScript String evaluates to different strings depending on the platform. // This utility method returns the string boolean value of the current platform. String _webViewString(String value) { - if (defaultTargetPlatform == TargetPlatform.iOS || - defaultTargetPlatform == TargetPlatform.macOS) { + if (_isWKWebView()) { return value; } return '"$value"'; } +bool _isWKWebView() { + return defaultTargetPlatform == TargetPlatform.iOS || + defaultTargetPlatform == TargetPlatform.macOS; +} + class ResizableWebView extends StatefulWidget { const ResizableWebView({ super.key,