From cf54d6a2f005f7a9e49a0dfbbb6fbff334e8dc86 Mon Sep 17 00:00:00 2001 From: Jonah Williams Date: Thu, 28 Jan 2021 12:40:20 -0800 Subject: [PATCH] [flutter_tools] remove mocks from file system test (#74919) --- .../general.shard/base/file_system_test.dart | 22 ++++++------ .../test/general.shard/base/io_test.dart | 17 +++++---- .../test/general.shard/base/signals_test.dart | 35 +++++++++---------- 3 files changed, 39 insertions(+), 35 deletions(-) diff --git a/packages/flutter_tools/test/general.shard/base/file_system_test.dart b/packages/flutter_tools/test/general.shard/base/file_system_test.dart index b16451b8821..6c32524f6b4 100644 --- a/packages/flutter_tools/test/general.shard/base/file_system_test.dart +++ b/packages/flutter_tools/test/general.shard/base/file_system_test.dart @@ -12,7 +12,7 @@ import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/io.dart'; import 'package:flutter_tools/src/base/platform.dart'; import 'package:flutter_tools/src/base/signals.dart'; -import 'package:mockito/mockito.dart'; +import 'package:test/fake.dart'; import '../../src/common.dart'; import '../../src/context.dart'; @@ -147,15 +147,12 @@ void main() { }); group('LocalFileSystem', () { - MockIoProcessSignal mockSignal; + FakeProcessSignal fakeSignal; ProcessSignal signalUnderTest; - StreamController controller; setUp(() { - mockSignal = MockIoProcessSignal(); - signalUnderTest = ProcessSignal(mockSignal); - controller = StreamController(); - when(mockSignal.watch()).thenAnswer((Invocation invocation) => controller.stream); + fakeSignal = FakeProcessSignal(); + signalUnderTest = ProcessSignal(fakeSignal); }); testUsingContext('deletes system temp entry on a fatal signal', () async { @@ -173,7 +170,7 @@ void main() { expect(temp.existsSync(), isTrue); - controller.add(mockSignal); + fakeSignal.controller.add(fakeSignal); await completer.future; expect(temp.existsSync(), isFalse); @@ -181,5 +178,10 @@ void main() { }); } -class MockIoProcessSignal extends Mock implements io.ProcessSignal {} -class MockFile extends Mock implements File {} +class FakeProcessSignal extends Fake implements io.ProcessSignal { + final StreamController controller = StreamController(); + + @override + Stream watch() => controller.stream; +} +class FakeFile extends Fake implements File {} diff --git a/packages/flutter_tools/test/general.shard/base/io_test.dart b/packages/flutter_tools/test/general.shard/base/io_test.dart index 375a8cfd177..6185bc4411b 100644 --- a/packages/flutter_tools/test/general.shard/base/io_test.dart +++ b/packages/flutter_tools/test/general.shard/base/io_test.dart @@ -9,7 +9,7 @@ import 'dart:io' as io; import 'package:file/memory.dart'; import 'package:flutter_tools/src/base/io.dart'; -import 'package:mockito/mockito.dart'; +import 'package:test/fake.dart'; import '../../src/common.dart'; import '../../src/context.dart'; @@ -57,12 +57,10 @@ void main() { }, flutterIOOverrides); }); testUsingContext('ProcessSignal signals are properly delegated', () async { - final MockIoProcessSignal mockSignal = MockIoProcessSignal(); - final ProcessSignal signalUnderTest = ProcessSignal(mockSignal); - final StreamController controller = StreamController(); + final FakeProcessSignal signal = FakeProcessSignal(); + final ProcessSignal signalUnderTest = ProcessSignal(signal); - when(mockSignal.watch()).thenAnswer((Invocation invocation) => controller.stream); - controller.add(mockSignal); + signal.controller.add(signal); expect(signalUnderTest, await signalUnderTest.watch().first); }); @@ -104,4 +102,9 @@ void main() { }); } -class MockIoProcessSignal extends Mock implements io.ProcessSignal {} +class FakeProcessSignal extends Fake implements io.ProcessSignal { + final StreamController controller = StreamController(); + + @override + Stream watch() => controller.stream; +} diff --git a/packages/flutter_tools/test/general.shard/base/signals_test.dart b/packages/flutter_tools/test/general.shard/base/signals_test.dart index 11d5653d3df..3e45e732ca7 100644 --- a/packages/flutter_tools/test/general.shard/base/signals_test.dart +++ b/packages/flutter_tools/test/general.shard/base/signals_test.dart @@ -16,16 +16,13 @@ import '../../src/common.dart'; void main() { group('Signals', () { Signals signals; - MockIoProcessSignal mockSignal; + FakeProcessSignal fakeSignal; ProcessSignal signalUnderTest; - StreamController controller; setUp(() { signals = Signals.test(); - mockSignal = MockIoProcessSignal(); - signalUnderTest = ProcessSignal(mockSignal); - controller = StreamController(); - when(mockSignal.watch()).thenAnswer((Invocation invocation) => controller.stream); + fakeSignal = FakeProcessSignal(); + signalUnderTest = ProcessSignal(fakeSignal); }); testWithoutContext('signal handler runs', () async { @@ -35,7 +32,7 @@ void main() { completer.complete(); }); - controller.add(mockSignal); + fakeSignal.controller.add(fakeSignal); await completer.future; }); @@ -55,7 +52,7 @@ void main() { completer.complete(); }); - controller.add(mockSignal); + fakeSignal.controller.add(fakeSignal); await completer.future; }); @@ -74,7 +71,7 @@ void main() { }, ); - controller.add(mockSignal); + fakeSignal.controller.add(fakeSignal); await completer.future; await errSub.cancel(); expect(errList, contains(exn)); @@ -97,7 +94,7 @@ void main() { }, ); - controller.add(mockSignal); + fakeSignal.controller.add(fakeSignal); await errSub.cancel(); expect(errList, isEmpty); @@ -125,19 +122,16 @@ void main() { }, ); - controller.add(mockSignal); + fakeSignal.controller.add(fakeSignal); await completer.future; await errSub.cancel(); expect(errList, isEmpty); }); testWithoutContext('only handlers for the correct signal run', () async { - final MockIoProcessSignal mockSignal2 = MockIoProcessSignal(); - final StreamController controller2 = StreamController(); + final FakeProcessSignal mockSignal2 = FakeProcessSignal(); final ProcessSignal otherSignal = ProcessSignal(mockSignal2); - when(mockSignal2.watch()).thenAnswer((Invocation invocation) => controller2.stream); - final Completer completer = Completer(); signals.addHandler(signalUnderTest, (ProcessSignal s) { expect(s, signalUnderTest); @@ -155,7 +149,7 @@ void main() { }, ); - controller.add(mockSignal); + fakeSignal.controller.add(fakeSignal); await completer.future; await errSub.cancel(); expect(errList, isEmpty); @@ -192,10 +186,15 @@ void main() { second = true; }); - controller.add(mockSignal); + fakeSignal.controller.add(fakeSignal); await completer.future; }); }); } -class MockIoProcessSignal extends Mock implements io.ProcessSignal {} +class FakeProcessSignal extends Fake implements io.ProcessSignal { + final StreamController controller = StreamController(); + + @override + Stream watch() => controller.stream; +}