2017-03-15 18:28:14 +00:00
|
|
|
// Copyright 2017 The Chromium Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
|
|
|
import 'dart:async';
|
|
|
|
import 'dart:io' as io;
|
|
|
|
|
|
|
|
import 'package:flutter_tools/src/base/io.dart';
|
|
|
|
import 'package:mockito/mockito.dart';
|
|
|
|
|
2018-08-15 03:33:58 +00:00
|
|
|
import '../src/common.dart';
|
2017-05-12 17:44:52 +00:00
|
|
|
import '../src/context.dart';
|
2017-03-15 18:28:14 +00:00
|
|
|
|
|
|
|
void main() {
|
|
|
|
group('ProcessSignal', () {
|
|
|
|
|
|
|
|
testUsingContext('signals are properly delegated', () async {
|
|
|
|
final MockIoProcessSignal mockSignal = new MockIoProcessSignal();
|
|
|
|
final ProcessSignal signalUnderTest = new ProcessSignal(mockSignal);
|
|
|
|
final StreamController<io.ProcessSignal> controller = new StreamController<io.ProcessSignal>();
|
|
|
|
|
2017-12-19 21:13:57 +00:00
|
|
|
when(mockSignal.watch()).thenAnswer((Invocation invocation) => controller.stream);
|
2017-03-15 18:28:14 +00:00
|
|
|
controller.add(mockSignal);
|
|
|
|
|
|
|
|
expect(signalUnderTest, await signalUnderTest.watch().first);
|
|
|
|
});
|
|
|
|
|
|
|
|
testUsingContext('toString() works', () async {
|
2018-07-20 22:07:24 +00:00
|
|
|
expect(io.ProcessSignal.sigint.toString(), ProcessSignal.SIGINT.toString());
|
2017-03-15 18:28:14 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2017-12-19 21:13:57 +00:00
|
|
|
class MockIoProcessSignal extends Mock implements io.ProcessSignal {}
|