Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 911cd97

Browse files
author
Emmanuel Garcia
committed
Fix test
1 parent 034bcb4 commit 911cd97

File tree

1 file changed

+47
-45
lines changed

1 file changed

+47
-45
lines changed

packages/webview_flutter/example/integration_test/webview_flutter_test.dart

Lines changed: 47 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -960,54 +960,51 @@ void main() {
960960

961961
final WebViewController controller = await controllerCompleter.future;
962962
await pageLoaded.future;
963-
964-
final String viewportRectJSON = await controller.evaluateJavascript(
965-
'JSON.stringify(viewport.getBoundingClientRect())');
963+
final String viewportRectJSON = await _evaluateJavascript(
964+
controller, 'JSON.stringify(viewport.getBoundingClientRect())');
966965
final Map<String, dynamic> viewportRectRelativeToViewport =
967-
jsonDecode(jsonDecode(viewportRectJSON));
966+
jsonDecode(viewportRectJSON);
968967

969968
// Check that the input is originally outside of the viewport.
970-
{
971-
final String inputClientRectJSON = await controller.evaluateJavascript(
972-
'JSON.stringify(inputEl.getBoundingClientRect())');
973-
final Map<String, dynamic> inputClientRectRelativeToViewport =
974-
jsonDecode(jsonDecode(inputClientRectJSON));
975-
976-
expect(
977-
inputClientRectRelativeToViewport['bottom'] <=
978-
viewportRectRelativeToViewport['bottom'],
979-
isFalse);
980-
}
969+
970+
final String initialInputClientRectJSON = await _evaluateJavascript(
971+
controller, 'JSON.stringify(inputEl.getBoundingClientRect())');
972+
final Map<String, dynamic> initialInputClientRectRelativeToViewport =
973+
jsonDecode(initialInputClientRectJSON);
974+
975+
expect(
976+
initialInputClientRectRelativeToViewport['bottom'] <=
977+
viewportRectRelativeToViewport['bottom'],
978+
isFalse);
981979

982980
await controller.evaluateJavascript('inputEl.focus()');
983981

984982
// Check that focusing the input brought it into view.
985-
{
986-
final String inputClientRectJSON = await controller.evaluateJavascript(
987-
'JSON.stringify(inputEl.getBoundingClientRect())');
988-
final Map<String, dynamic> inputClientRectRelativeToViewport =
989-
jsonDecode(jsonDecode(inputClientRectJSON));
990-
991-
expect(
992-
inputClientRectRelativeToViewport['top'] >=
993-
viewportRectRelativeToViewport['top'],
994-
isTrue);
995-
expect(
996-
inputClientRectRelativeToViewport['bottom'] <=
997-
viewportRectRelativeToViewport['bottom'],
998-
isTrue);
999983

1000-
expect(
1001-
inputClientRectRelativeToViewport['left'] >=
1002-
viewportRectRelativeToViewport['left'],
1003-
isTrue);
1004-
expect(
1005-
inputClientRectRelativeToViewport['right'] <=
1006-
viewportRectRelativeToViewport['right'],
1007-
isTrue);
1008-
}
984+
final String lastInputClientRectJSON = await _evaluateJavascript(
985+
controller, 'JSON.stringify(inputEl.getBoundingClientRect())');
986+
final Map<String, dynamic> lastInputClientRectRelativeToViewport =
987+
jsonDecode(lastInputClientRectJSON);
988+
989+
expect(
990+
lastInputClientRectRelativeToViewport['top'] >=
991+
viewportRectRelativeToViewport['top'],
992+
isTrue);
993+
expect(
994+
lastInputClientRectRelativeToViewport['bottom'] <=
995+
viewportRectRelativeToViewport['bottom'],
996+
isTrue);
997+
998+
expect(
999+
lastInputClientRectRelativeToViewport['left'] >=
1000+
viewportRectRelativeToViewport['left'],
1001+
isTrue);
1002+
expect(
1003+
lastInputClientRectRelativeToViewport['right'] <=
1004+
viewportRectRelativeToViewport['right'],
1005+
isTrue);
10091006
});
1010-
}, skip: defaultTargetPlatform != TargetPlatform.android);
1007+
}, skip: !Platform.isAndroid);
10111008

10121009
group('NavigationDelegate', () {
10131010
final String blankPage = "<!DOCTYPE html><head></head><body></body></html>";
@@ -1074,7 +1071,8 @@ void main() {
10741071
expect(error.failingUrl, isNull);
10751072
} else if (Platform.isAndroid) {
10761073
expect(error.errorType, isNotNull);
1077-
expect(error.failingUrl, 'https://www.notawebsite..com');
1074+
expect(error.failingUrl.startsWith('https://www.notawebsite..com'),
1075+
isTrue);
10781076
}
10791077
});
10801078

@@ -1261,7 +1259,7 @@ void main() {
12611259
await controller.goBack();
12621260
expect(controller.currentUrl(), completion('https://www.flutter.dev'));
12631261
},
1264-
skip: defaultTargetPlatform != TargetPlatform.android,
1262+
skip: !Platform.isAndroid,
12651263
);
12661264

12671265
testWidgets(
@@ -1329,7 +1327,7 @@ void main() {
13291327
completion('null'),
13301328
);
13311329
},
1332-
skip: defaultTargetPlatform != TargetPlatform.android,
1330+
skip: !Platform.isAndroid,
13331331
);
13341332
}
13351333

@@ -1344,9 +1342,13 @@ String _webviewBool(bool value) {
13441342

13451343
/// Returns the value used for the HTTP User-Agent: request header in subsequent HTTP requests.
13461344
Future<String> _getUserAgent(WebViewController controller) async {
1345+
return _evaluateJavascript(controller, 'navigator.userAgent;');
1346+
}
1347+
1348+
Future<String> _evaluateJavascript(
1349+
WebViewController controller, String js) async {
13471350
if (defaultTargetPlatform == TargetPlatform.iOS) {
1348-
return await controller.evaluateJavascript('navigator.userAgent;');
1351+
return await controller.evaluateJavascript(js);
13491352
}
1350-
return jsonDecode(
1351-
await controller.evaluateJavascript('navigator.userAgent;'));
1353+
return jsonDecode(await controller.evaluateJavascript(js));
13521354
}

0 commit comments

Comments
 (0)