Skip to content

Commit

Permalink
More HttpClientResponse Uint8List fixes (flutter#35143)
Browse files Browse the repository at this point in the history
Follow-on change to flutter#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
flutter#13815
  • Loading branch information
tvolkert authored and johnsonmh committed Jul 30, 2019
1 parent f26be4c commit e2ebda8
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions packages/flutter_test/lib/src/binding.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1900,7 +1900,9 @@ class _MockHttpResponse implements HttpClientResponse {
bool Function(Uint8List element) test, {
List<int> Function() orElse,
}) {
return _delegate.firstWhere(test, orElse: orElse);
return _delegate.firstWhere(test, orElse: () {
return Uint8List.fromList(orElse());
});
}

@override
Expand Down Expand Up @@ -1940,7 +1942,9 @@ class _MockHttpResponse implements HttpClientResponse {
bool Function(Uint8List element) test, {
List<int> Function() orElse,
}) {
return _delegate.lastWhere(test, orElse: orElse);
return _delegate.lastWhere(test, orElse: () {
return Uint8List.fromList(orElse());
});
}

@override
Expand All @@ -1953,20 +1957,24 @@ class _MockHttpResponse implements HttpClientResponse {

@override
Future<dynamic> pipe(StreamConsumer<List<int>> streamConsumer) {
return _delegate.pipe(streamConsumer);
return _delegate.cast<List<int>>().pipe(streamConsumer);
}

@override
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
Future<Uint8List> get single => _delegate.single;

@override
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
Expand Down Expand Up @@ -2009,7 +2017,7 @@ class _MockHttpResponse implements HttpClientResponse {

@override
Stream<S> transform<S>(StreamTransformer<List<int>, S> streamTransformer) {
return _delegate.transform<S>(streamTransformer);
return _delegate.cast<List<int>>().transform<S>(streamTransformer);
}

@override
Expand Down

0 comments on commit e2ebda8

Please sign in to comment.