mirror of
https://github.com/flutter/packages.git
synced 2025-05-30 21:17:42 +08:00
34 lines
879 B
Dart
34 lines
879 B
Dart
import 'dart:async';
|
|
import 'dart:io' as io;
|
|
|
|
import 'package:file/file.dart';
|
|
import 'package:mockito/mockito.dart';
|
|
|
|
class MockProcess extends Mock implements io.Process {
|
|
final Completer<int> exitCodeCompleter = Completer<int>();
|
|
final StreamController<List<int>> stdoutController =
|
|
StreamController<List<int>>();
|
|
final StreamController<List<int>> stderrController =
|
|
StreamController<List<int>>();
|
|
final MockIOSink stdinMock = MockIOSink();
|
|
|
|
@override
|
|
Future<int> get exitCode => exitCodeCompleter.future;
|
|
|
|
@override
|
|
Stream<List<int>> get stdout => stdoutController.stream;
|
|
|
|
@override
|
|
Stream<List<int>> get stderr => stderrController.stream;
|
|
|
|
@override
|
|
IOSink get stdin => stdinMock;
|
|
}
|
|
|
|
class MockIOSink extends Mock implements IOSink {
|
|
List<String> lines = <String>[];
|
|
|
|
@override
|
|
void writeln([Object obj = ""]) => lines.add(obj);
|
|
}
|