// Copyright 2015 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 'package:flutter_tools/src/android/device_android.dart'; import 'package:flutter_tools/src/application_package.dart'; import 'package:flutter_tools/src/build_configuration.dart'; import 'package:flutter_tools/src/device.dart'; import 'package:flutter_tools/src/ios/device_ios.dart'; import 'package:flutter_tools/src/runner/flutter_command.dart'; import 'package:flutter_tools/src/toolchain.dart'; import 'package:mockito/mockito.dart'; class MockApplicationPackageStore extends ApplicationPackageStore { MockApplicationPackageStore() : super( android: new AndroidApk(localPath: '/mock/path/to/android/SkyShell.apk'), iOS: new IOSApp(localPath: '/mock/path/to/iOS/SkyShell.app'), iOSSimulator: new IOSApp(localPath: '/mock/path/to/iOSSimulator/SkyShell.app')); } class MockCompiler extends Mock implements Compiler { } class MockToolchain extends Toolchain { MockToolchain() : super(compiler: new MockCompiler()); } class MockAndroidDevice extends Mock implements AndroidDevice { TargetPlatform get platform => TargetPlatform.android; } class MockIOSDevice extends Mock implements IOSDevice { TargetPlatform get platform => TargetPlatform.iOS; } class MockIOSSimulator extends Mock implements IOSSimulator { TargetPlatform get platform => TargetPlatform.iOSSimulator; } class MockDeviceStore extends DeviceStore { MockDeviceStore() : super( android: new MockAndroidDevice(), iOS: new MockIOSDevice(), iOSSimulator: new MockIOSSimulator()); } void applyMocksToCommand(FlutterCommand command) { command ..applicationPackages = new MockApplicationPackageStore() ..toolchain = new MockToolchain() ..devices = new MockDeviceStore() ..projectRootValidator = () => true; }