fix the stop command tests
This commit is contained in:
parent
932b09c33a
commit
8283ce87e2
@ -236,17 +236,17 @@ class AppDomain extends Domain {
|
||||
}
|
||||
|
||||
Future<dynamic> start(Map<String, dynamic> args) async {
|
||||
if (args['deviceId'] is! String)
|
||||
throw "A 'deviceId' is required";
|
||||
if (args == null || args['deviceId'] is! String)
|
||||
throw "deviceId is required";
|
||||
Device device = await _getDevice(args['deviceId']);
|
||||
if (device == null)
|
||||
throw "A 'projectDirectory' is required";
|
||||
throw "device '${args['deviceId']}' not found";
|
||||
|
||||
if (args['projectDirectory'] is! String)
|
||||
throw "A 'projectDirectory' is required";
|
||||
throw "projectDirectory is required";
|
||||
String projectDirectory = args['projectDirectory'];
|
||||
if (!FileSystemEntity.isDirectorySync(projectDirectory))
|
||||
throw "The '$projectDirectory' does not exist";
|
||||
throw "'$projectDirectory' does not exist";
|
||||
|
||||
// We change the current working directory for the duration of the `start` command.
|
||||
// TODO(devoncarew): Make flutter_tools work better with commands run from any directory.
|
||||
@ -280,17 +280,17 @@ class AppDomain extends Domain {
|
||||
}
|
||||
|
||||
Future<bool> stop(dynamic args) async {
|
||||
if (args['deviceId'] is! String)
|
||||
throw "A 'deviceId' is required";
|
||||
if (args == null || args['deviceId'] is! String)
|
||||
throw "deviceId is required";
|
||||
Device device = await _getDevice(args['deviceId']);
|
||||
if (device == null)
|
||||
throw "A 'projectDirectory' is required";
|
||||
throw "device '${args['deviceId']}' not found";
|
||||
|
||||
if (args['projectDirectory'] is! String)
|
||||
throw "A 'projectDirectory' is required";
|
||||
throw "projectDirectory is required";
|
||||
String projectDirectory = args['projectDirectory'];
|
||||
if (!FileSystemEntity.isDirectorySync(projectDirectory))
|
||||
throw "The '$projectDirectory' does not exist";
|
||||
throw "'$projectDirectory' does not exist";
|
||||
|
||||
Directory cwd = Directory.current;
|
||||
Directory.current = new Directory(projectDirectory);
|
||||
|
@ -12,7 +12,6 @@ import 'package:flutter_tools/src/device.dart';
|
||||
import 'package:flutter_tools/src/doctor.dart';
|
||||
import 'package:flutter_tools/src/globals.dart';
|
||||
import 'package:flutter_tools/src/ios/mac.dart';
|
||||
import 'package:mockito/mockito.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import 'src/context.dart';
|
||||
@ -97,7 +96,7 @@ defineTests() {
|
||||
});
|
||||
});
|
||||
|
||||
_testUsingContext('daemon.stopAll', () async {
|
||||
_testUsingContext('daemon.stop', () async {
|
||||
DaemonCommand command = new DaemonCommand();
|
||||
applyMocksToCommand(command);
|
||||
|
||||
@ -110,16 +109,10 @@ defineTests() {
|
||||
notifyingLogger: notifyingLogger
|
||||
);
|
||||
|
||||
MockDeviceStore mockDevices = command.devices;
|
||||
|
||||
when(mockDevices.android.stopApp(any)).thenReturn(true);
|
||||
when(mockDevices.iOS.stopApp(any)).thenReturn(false);
|
||||
when(mockDevices.iOSSimulator.stopApp(any)).thenReturn(false);
|
||||
|
||||
commands.add({'id': 0, 'method': 'app.stopAll'});
|
||||
commands.add(<String, dynamic>{ 'id': 0, 'method': 'app.stop' });
|
||||
Map response = await responses.stream.where(_notEvent).first;
|
||||
expect(response['id'], 0);
|
||||
expect(response['result'], true);
|
||||
expect(response['error'], contains('deviceId is required'));
|
||||
});
|
||||
|
||||
_testUsingContext('device.getDevices', () async {
|
||||
|
@ -45,8 +45,11 @@ void testUsingContext(String description, dynamic testMethod(), {
|
||||
if (!overrides.containsKey(SimControl))
|
||||
testContext[SimControl] = new MockSimControl();
|
||||
|
||||
if (!overrides.containsKey(OperatingSystemUtils))
|
||||
testContext[OperatingSystemUtils] = new MockOperatingSystemUtils();
|
||||
if (!overrides.containsKey(OperatingSystemUtils)) {
|
||||
MockOperatingSystemUtils os = new MockOperatingSystemUtils();
|
||||
when(os.isWindows).thenReturn(false);
|
||||
testContext[OperatingSystemUtils] = os;
|
||||
}
|
||||
|
||||
if (!overrides.containsKey(IOSSimulatorUtils)) {
|
||||
MockIOSSimulatorUtils mock = new MockIOSSimulatorUtils();
|
||||
|
@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter_tools/src/commands/stop.dart';
|
||||
import 'package:mockito/mockito.dart';
|
||||
import 'package:test/test.dart';
|
||||
@ -17,12 +19,9 @@ defineTests() {
|
||||
testUsingContext('returns 0 when Android is connected and ready to be stopped', () {
|
||||
StopCommand command = new StopCommand();
|
||||
applyMocksToCommand(command);
|
||||
MockDeviceStore mockDevices = command.devices;
|
||||
|
||||
when(mockDevices.android.stopApp(any)).thenReturn(true);
|
||||
when(mockDevices.iOS.stopApp(any)).thenReturn(false);
|
||||
when(mockDevices.iOSSimulator.stopApp(any)).thenReturn(false);
|
||||
|
||||
MockAndroidDevice device = new MockAndroidDevice();
|
||||
when(device.stopApp(any)).thenReturn(new Future.value(true));
|
||||
testDeviceManager.addDevice(device);
|
||||
return createTestCommandRunner(command).run(['stop']).then((int code) {
|
||||
expect(code, equals(0));
|
||||
});
|
||||
@ -31,11 +30,9 @@ defineTests() {
|
||||
testUsingContext('returns 0 when iOS is connected and ready to be stopped', () {
|
||||
StopCommand command = new StopCommand();
|
||||
applyMocksToCommand(command);
|
||||
MockDeviceStore mockDevices = command.devices;
|
||||
|
||||
when(mockDevices.android.stopApp(any)).thenReturn(false);
|
||||
when(mockDevices.iOS.stopApp(any)).thenReturn(true);
|
||||
when(mockDevices.iOSSimulator.stopApp(any)).thenReturn(false);
|
||||
MockIOSDevice device = new MockIOSDevice();
|
||||
when(device.stopApp(any)).thenReturn(new Future.value(true));
|
||||
testDeviceManager.addDevice(device);
|
||||
|
||||
return createTestCommandRunner(command).run(['stop']).then((int code) {
|
||||
expect(code, equals(0));
|
||||
|
Loading…
x
Reference in New Issue
Block a user