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
This commit is contained in:
Todd Volkert 2019-06-26 16:11:04 -07:00 committed by GitHub
parent 33ad5bac34
commit d2c2f4c66b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1900,7 +1900,9 @@ class _MockHttpResponse implements HttpClientResponse {
bool Function(Uint8List element) test, { bool Function(Uint8List element) test, {
List<int> Function() orElse, List<int> Function() orElse,
}) { }) {
return _delegate.firstWhere(test, orElse: orElse); return _delegate.firstWhere(test, orElse: () {
return Uint8List.fromList(orElse());
});
} }
@override @override
@ -1940,7 +1942,9 @@ class _MockHttpResponse implements HttpClientResponse {
bool Function(Uint8List element) test, { bool Function(Uint8List element) test, {
List<int> Function() orElse, List<int> Function() orElse,
}) { }) {
return _delegate.lastWhere(test, orElse: orElse); return _delegate.lastWhere(test, orElse: () {
return Uint8List.fromList(orElse());
});
} }
@override @override
@ -1953,12 +1957,14 @@ class _MockHttpResponse implements HttpClientResponse {
@override @override
Future<dynamic> pipe(StreamConsumer<List<int>> streamConsumer) { Future<dynamic> pipe(StreamConsumer<List<int>> streamConsumer) {
return _delegate.pipe(streamConsumer); return _delegate.cast<List<int>>().pipe(streamConsumer);
} }
@override @override
Future<Uint8List> reduce(List<int> Function(Uint8List previous, Uint8List element) combine) { Future<Uint8List> reduce(List<int> Function(Uint8List previous, Uint8List element) combine) {
return _delegate.reduce(combine); return _delegate.reduce((Uint8List previous, Uint8List element) {
return Uint8List.fromList(combine(previous, element));
});
} }
@override @override
@ -1966,7 +1972,9 @@ class _MockHttpResponse implements HttpClientResponse {
@override @override
Future<Uint8List> singleWhere(bool Function(Uint8List element) test, {List<int> Function() orElse}) { Future<Uint8List> singleWhere(bool Function(Uint8List element) test, {List<int> Function() orElse}) {
return _delegate.singleWhere(test, orElse: orElse); return _delegate.singleWhere(test, orElse: () {
return Uint8List.fromList(orElse());
});
} }
@override @override
@ -2009,7 +2017,7 @@ class _MockHttpResponse implements HttpClientResponse {
@override @override
Stream<S> transform<S>(StreamTransformer<List<int>, S> streamTransformer) { Stream<S> transform<S>(StreamTransformer<List<int>, S> streamTransformer) {
return _delegate.transform<S>(streamTransformer); return _delegate.cast<List<int>>().transform<S>(streamTransformer);
} }
@override @override