Skip to content

Commit 06f015a

Browse files
authored
Modify flutter_tests dart:io mocks to support Dart 3.0 (#123706)
Modify flutter_tests dart:io mocks to support Dart 3.0
1 parent c26d1de commit 06f015a

File tree

2 files changed

+72
-3
lines changed

2 files changed

+72
-3
lines changed

packages/flutter_test/lib/src/_binding_io.dart

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,19 @@ class _MockHttpClient implements HttpClient {
206206
}
207207

208208
/// A mocked [HttpClientRequest] which always returns a [_MockHttpClientResponse].
209-
class _MockHttpRequest extends HttpClientRequest {
209+
class _MockHttpRequest implements HttpClientRequest {
210+
@override
211+
bool bufferOutput = true;
212+
213+
@override
214+
int contentLength = -1;
215+
210216
@override
211217
late Encoding encoding;
212218

219+
@override
220+
bool followRedirects = true;
221+
213222
@override
214223
final HttpHeaders headers = _MockHttpHeaders();
215224

@@ -246,9 +255,15 @@ class _MockHttpRequest extends HttpClientRequest {
246255
return Future<void>.value();
247256
}
248257

258+
@override
259+
int maxRedirects = 5;
260+
249261
@override
250262
String get method => '';
251263

264+
@override
265+
bool persistentConnection = true;
266+
252267
@override
253268
Uri get uri => Uri();
254269

@@ -514,22 +529,49 @@ class _MockHttpResponse implements HttpClientResponse {
514529
}
515530

516531
/// A mocked [HttpHeaders] that ignores all writes.
517-
class _MockHttpHeaders extends HttpHeaders {
532+
class _MockHttpHeaders implements HttpHeaders {
518533
@override
519534
List<String>? operator [](String name) => <String>[];
520535

521536
@override
522537
void add(String name, Object value, {bool preserveHeaderCase = false}) { }
523538

539+
@override
540+
late bool chunkedTransferEncoding;
541+
524542
@override
525543
void clear() { }
526544

545+
@override
546+
int contentLength = -1;
547+
548+
@override
549+
ContentType? contentType;
550+
551+
@override
552+
DateTime? date;
553+
554+
@override
555+
DateTime? expires;
556+
527557
@override
528558
void forEach(void Function(String name, List<String> values) f) { }
529559

560+
@override
561+
String? host;
562+
563+
@override
564+
DateTime? ifModifiedSince;
565+
530566
@override
531567
void noFolding(String name) { }
532568

569+
@override
570+
late bool persistentConnection;
571+
572+
@override
573+
int? port;
574+
533575
@override
534576
void remove(String name, Object value) { }
535577

packages/flutter_tools/test/src/fake_http_client.dart

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ class _FakeHttpClientResponse extends Stream<List<int>> implements HttpClientRes
457457
int get statusCode => _response.statusCode;
458458
}
459459

460-
class _FakeHttpHeaders extends HttpHeaders {
460+
class _FakeHttpHeaders implements HttpHeaders {
461461
_FakeHttpHeaders(this._backingData);
462462

463463
final Map<String, List<String>> _backingData;
@@ -471,14 +471,32 @@ class _FakeHttpHeaders extends HttpHeaders {
471471
_backingData[name]!.add(value.toString());
472472
}
473473

474+
@override
475+
late bool chunkedTransferEncoding;
476+
474477
@override
475478
void clear() {
476479
_backingData.clear();
477480
}
478481

482+
@override
483+
int contentLength = -1;
484+
485+
@override
486+
ContentType? contentType;
487+
488+
@override
489+
DateTime? date;
490+
491+
@override
492+
DateTime? expires;
493+
479494
@override
480495
void forEach(void Function(String name, List<String> values) action) { }
481496

497+
@override
498+
String? host;
499+
482500
@override
483501
void noFolding(String name) { }
484502

@@ -501,4 +519,13 @@ class _FakeHttpHeaders extends HttpHeaders {
501519
String? value(String name) {
502520
return _backingData[name]?.join('; ');
503521
}
522+
523+
@override
524+
DateTime? ifModifiedSince;
525+
526+
@override
527+
late bool persistentConnection;
528+
529+
@override
530+
int? port;
504531
}

0 commit comments

Comments
 (0)