// 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:convert'; import 'dart:io'; import 'package:flutter_tools/src/commands/fuchsia_reload.dart'; import 'package:mockito/mockito.dart'; import 'package:process/process.dart'; import '../src/common.dart'; import '../src/context.dart'; void main() { group('FuchsiaDeviceCommandRunner', () { testUsingContext('a test', () async { final FuchsiaDeviceCommandRunner commandRunner = FuchsiaDeviceCommandRunner('8.8.9.9', '~/fuchsia/out/release-x86-64'); final List ports = await commandRunner.run('ls /tmp'); expect(ports, hasLength(3)); expect(ports[0], equals('1234')); expect(ports[1], equals('5678')); expect(ports[2], equals('5')); }, overrides: { ProcessManager: () => MockProcessManager(), }); }); } class MockProcessManager extends Mock implements ProcessManager { @override Future run( List command, { String workingDirectory, Map environment, bool includeParentEnvironment = true, bool runInShell = false, Encoding stdoutEncoding = systemEncoding, Encoding stderrEncoding = systemEncoding, }) async { return ProcessResult(0, 0, '1234\n5678\n5', ''); } }