[integration_test] Fix tests from changes to `flutter test` machine output (#3480)
diff --git a/packages/integration_test/CHANGELOG.md b/packages/integration_test/CHANGELOG.md
index 5ae0883..71ab0e8 100644
--- a/packages/integration_test/CHANGELOG.md
+++ b/packages/integration_test/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.0.2+2
+
+* Fix tests from changes to `flutter test` machine output.
+
## 1.0.2+1
* Update vm_service constraint
diff --git a/packages/integration_test/pubspec.yaml b/packages/integration_test/pubspec.yaml
index a233f06..33c174a 100644
--- a/packages/integration_test/pubspec.yaml
+++ b/packages/integration_test/pubspec.yaml
@@ -1,6 +1,6 @@
name: integration_test
description: Runs tests that use the flutter_test API as integration tests.
-version: 1.0.2+1
+version: 1.0.2+2
homepage: https://github.com/flutter/plugins/tree/master/packages/integration_test
environment:
diff --git a/packages/integration_test/test/binding_fail_test.dart b/packages/integration_test/test/binding_fail_test.dart
index bb5961b..7ec1768 100644
--- a/packages/integration_test/test/binding_fail_test.dart
+++ b/packages/integration_test/test/binding_fail_test.dart
@@ -61,13 +61,18 @@
final String testResults = (await process.stdout
.transform(utf8.decoder)
.expand((String text) => text.split('\n'))
- .map((String line) {
+ .map<dynamic>((String line) {
try {
return jsonDecode(line);
} on FormatException {
// Only interested in test events which are JSON.
}
})
+ .expand<Map<String, dynamic>>((dynamic json) {
+ return json is List<dynamic>
+ ? json.cast()
+ : <Map<String, dynamic>>[json as Map<String, dynamic>];
+ })
.where((dynamic testEvent) =>
testEvent != null && testEvent['type'] == 'print')
.map((dynamic printEvent) => printEvent['message'] as String)