From e2ebda80a2c0480a3b276336e97128b68a58e730 Mon Sep 17 00:00:00 2001 From: Todd Volkert Date: Wed, 26 Jun 2019 16:11:04 -0700 Subject: [PATCH] More HttpClientResponse Uint8List fixes (#35143) Follow-on change to https://github.com/flutter/flutter/pull/34863 (see that change for context), whereby we ensure that we're properly dealing in `Uint8List`. These necessary changes would have been caught by disabling implicit casts in our analysis options. dart-lang/sdk#36900 https://github.com/flutter/flutter/issues/13815 --- packages/flutter_test/lib/src/binding.dart | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/flutter_test/lib/src/binding.dart b/packages/flutter_test/lib/src/binding.dart index 8fe5b7865bb1d..492810989effa 100644 --- a/packages/flutter_test/lib/src/binding.dart +++ b/packages/flutter_test/lib/src/binding.dart @@ -1900,7 +1900,9 @@ class _MockHttpResponse implements HttpClientResponse { bool Function(Uint8List element) test, { List Function() orElse, }) { - return _delegate.firstWhere(test, orElse: orElse); + return _delegate.firstWhere(test, orElse: () { + return Uint8List.fromList(orElse()); + }); } @override @@ -1940,7 +1942,9 @@ class _MockHttpResponse implements HttpClientResponse { bool Function(Uint8List element) test, { List Function() orElse, }) { - return _delegate.lastWhere(test, orElse: orElse); + return _delegate.lastWhere(test, orElse: () { + return Uint8List.fromList(orElse()); + }); } @override @@ -1953,12 +1957,14 @@ class _MockHttpResponse implements HttpClientResponse { @override Future pipe(StreamConsumer> streamConsumer) { - return _delegate.pipe(streamConsumer); + return _delegate.cast>().pipe(streamConsumer); } @override Future reduce(List Function(Uint8List previous, Uint8List element) combine) { - return _delegate.reduce(combine); + return _delegate.reduce((Uint8List previous, Uint8List element) { + return Uint8List.fromList(combine(previous, element)); + }); } @override @@ -1966,7 +1972,9 @@ class _MockHttpResponse implements HttpClientResponse { @override Future singleWhere(bool Function(Uint8List element) test, {List Function() orElse}) { - return _delegate.singleWhere(test, orElse: orElse); + return _delegate.singleWhere(test, orElse: () { + return Uint8List.fromList(orElse()); + }); } @override @@ -2009,7 +2017,7 @@ class _MockHttpResponse implements HttpClientResponse { @override Stream transform(StreamTransformer, S> streamTransformer) { - return _delegate.transform(streamTransformer); + return _delegate.cast>().transform(streamTransformer); } @override