mirror of
https://github.com/flutter/flutter
synced 2024-10-13 03:32:55 +00:00
[flutter_tools] remove mocks from file system test (#74919)
This commit is contained in:
parent
a664731a14
commit
cf54d6a2f0
|
@ -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/io.dart';
|
||||||
import 'package:flutter_tools/src/base/platform.dart';
|
import 'package:flutter_tools/src/base/platform.dart';
|
||||||
import 'package:flutter_tools/src/base/signals.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/common.dart';
|
||||||
import '../../src/context.dart';
|
import '../../src/context.dart';
|
||||||
|
@ -147,15 +147,12 @@ void main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
group('LocalFileSystem', () {
|
group('LocalFileSystem', () {
|
||||||
MockIoProcessSignal mockSignal;
|
FakeProcessSignal fakeSignal;
|
||||||
ProcessSignal signalUnderTest;
|
ProcessSignal signalUnderTest;
|
||||||
StreamController<io.ProcessSignal> controller;
|
|
||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
mockSignal = MockIoProcessSignal();
|
fakeSignal = FakeProcessSignal();
|
||||||
signalUnderTest = ProcessSignal(mockSignal);
|
signalUnderTest = ProcessSignal(fakeSignal);
|
||||||
controller = StreamController<io.ProcessSignal>();
|
|
||||||
when(mockSignal.watch()).thenAnswer((Invocation invocation) => controller.stream);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
testUsingContext('deletes system temp entry on a fatal signal', () async {
|
testUsingContext('deletes system temp entry on a fatal signal', () async {
|
||||||
|
@ -173,7 +170,7 @@ void main() {
|
||||||
|
|
||||||
expect(temp.existsSync(), isTrue);
|
expect(temp.existsSync(), isTrue);
|
||||||
|
|
||||||
controller.add(mockSignal);
|
fakeSignal.controller.add(fakeSignal);
|
||||||
await completer.future;
|
await completer.future;
|
||||||
|
|
||||||
expect(temp.existsSync(), isFalse);
|
expect(temp.existsSync(), isFalse);
|
||||||
|
@ -181,5 +178,10 @@ void main() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
class MockIoProcessSignal extends Mock implements io.ProcessSignal {}
|
class FakeProcessSignal extends Fake implements io.ProcessSignal {
|
||||||
class MockFile extends Mock implements File {}
|
final StreamController<io.ProcessSignal> controller = StreamController<io.ProcessSignal>();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Stream<io.ProcessSignal> watch() => controller.stream;
|
||||||
|
}
|
||||||
|
class FakeFile extends Fake implements File {}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'dart:io' as io;
|
||||||
|
|
||||||
import 'package:file/memory.dart';
|
import 'package:file/memory.dart';
|
||||||
import 'package:flutter_tools/src/base/io.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/common.dart';
|
||||||
import '../../src/context.dart';
|
import '../../src/context.dart';
|
||||||
|
@ -57,12 +57,10 @@ void main() {
|
||||||
}, flutterIOOverrides);
|
}, flutterIOOverrides);
|
||||||
});
|
});
|
||||||
testUsingContext('ProcessSignal signals are properly delegated', () async {
|
testUsingContext('ProcessSignal signals are properly delegated', () async {
|
||||||
final MockIoProcessSignal mockSignal = MockIoProcessSignal();
|
final FakeProcessSignal signal = FakeProcessSignal();
|
||||||
final ProcessSignal signalUnderTest = ProcessSignal(mockSignal);
|
final ProcessSignal signalUnderTest = ProcessSignal(signal);
|
||||||
final StreamController<io.ProcessSignal> controller = StreamController<io.ProcessSignal>();
|
|
||||||
|
|
||||||
when(mockSignal.watch()).thenAnswer((Invocation invocation) => controller.stream);
|
signal.controller.add(signal);
|
||||||
controller.add(mockSignal);
|
|
||||||
|
|
||||||
expect(signalUnderTest, await signalUnderTest.watch().first);
|
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<io.ProcessSignal> controller = StreamController<io.ProcessSignal>();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Stream<io.ProcessSignal> watch() => controller.stream;
|
||||||
|
}
|
||||||
|
|
|
@ -16,16 +16,13 @@ import '../../src/common.dart';
|
||||||
void main() {
|
void main() {
|
||||||
group('Signals', () {
|
group('Signals', () {
|
||||||
Signals signals;
|
Signals signals;
|
||||||
MockIoProcessSignal mockSignal;
|
FakeProcessSignal fakeSignal;
|
||||||
ProcessSignal signalUnderTest;
|
ProcessSignal signalUnderTest;
|
||||||
StreamController<io.ProcessSignal> controller;
|
|
||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
signals = Signals.test();
|
signals = Signals.test();
|
||||||
mockSignal = MockIoProcessSignal();
|
fakeSignal = FakeProcessSignal();
|
||||||
signalUnderTest = ProcessSignal(mockSignal);
|
signalUnderTest = ProcessSignal(fakeSignal);
|
||||||
controller = StreamController<io.ProcessSignal>();
|
|
||||||
when(mockSignal.watch()).thenAnswer((Invocation invocation) => controller.stream);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
testWithoutContext('signal handler runs', () async {
|
testWithoutContext('signal handler runs', () async {
|
||||||
|
@ -35,7 +32,7 @@ void main() {
|
||||||
completer.complete();
|
completer.complete();
|
||||||
});
|
});
|
||||||
|
|
||||||
controller.add(mockSignal);
|
fakeSignal.controller.add(fakeSignal);
|
||||||
await completer.future;
|
await completer.future;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -55,7 +52,7 @@ void main() {
|
||||||
completer.complete();
|
completer.complete();
|
||||||
});
|
});
|
||||||
|
|
||||||
controller.add(mockSignal);
|
fakeSignal.controller.add(fakeSignal);
|
||||||
await completer.future;
|
await completer.future;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -74,7 +71,7 @@ void main() {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
controller.add(mockSignal);
|
fakeSignal.controller.add(fakeSignal);
|
||||||
await completer.future;
|
await completer.future;
|
||||||
await errSub.cancel();
|
await errSub.cancel();
|
||||||
expect(errList, contains(exn));
|
expect(errList, contains(exn));
|
||||||
|
@ -97,7 +94,7 @@ void main() {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
controller.add(mockSignal);
|
fakeSignal.controller.add(fakeSignal);
|
||||||
|
|
||||||
await errSub.cancel();
|
await errSub.cancel();
|
||||||
expect(errList, isEmpty);
|
expect(errList, isEmpty);
|
||||||
|
@ -125,19 +122,16 @@ void main() {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
controller.add(mockSignal);
|
fakeSignal.controller.add(fakeSignal);
|
||||||
await completer.future;
|
await completer.future;
|
||||||
await errSub.cancel();
|
await errSub.cancel();
|
||||||
expect(errList, isEmpty);
|
expect(errList, isEmpty);
|
||||||
});
|
});
|
||||||
|
|
||||||
testWithoutContext('only handlers for the correct signal run', () async {
|
testWithoutContext('only handlers for the correct signal run', () async {
|
||||||
final MockIoProcessSignal mockSignal2 = MockIoProcessSignal();
|
final FakeProcessSignal mockSignal2 = FakeProcessSignal();
|
||||||
final StreamController<io.ProcessSignal> controller2 = StreamController<io.ProcessSignal>();
|
|
||||||
final ProcessSignal otherSignal = ProcessSignal(mockSignal2);
|
final ProcessSignal otherSignal = ProcessSignal(mockSignal2);
|
||||||
|
|
||||||
when(mockSignal2.watch()).thenAnswer((Invocation invocation) => controller2.stream);
|
|
||||||
|
|
||||||
final Completer<void> completer = Completer<void>();
|
final Completer<void> completer = Completer<void>();
|
||||||
signals.addHandler(signalUnderTest, (ProcessSignal s) {
|
signals.addHandler(signalUnderTest, (ProcessSignal s) {
|
||||||
expect(s, signalUnderTest);
|
expect(s, signalUnderTest);
|
||||||
|
@ -155,7 +149,7 @@ void main() {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
controller.add(mockSignal);
|
fakeSignal.controller.add(fakeSignal);
|
||||||
await completer.future;
|
await completer.future;
|
||||||
await errSub.cancel();
|
await errSub.cancel();
|
||||||
expect(errList, isEmpty);
|
expect(errList, isEmpty);
|
||||||
|
@ -192,10 +186,15 @@ void main() {
|
||||||
second = true;
|
second = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
controller.add(mockSignal);
|
fakeSignal.controller.add(fakeSignal);
|
||||||
await completer.future;
|
await completer.future;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
class MockIoProcessSignal extends Mock implements io.ProcessSignal {}
|
class FakeProcessSignal extends Fake implements io.ProcessSignal {
|
||||||
|
final StreamController<io.ProcessSignal> controller = StreamController<io.ProcessSignal>();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Stream<io.ProcessSignal> watch() => controller.stream;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue