| // Copyright 2019 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/base/file_system.dart'; |
| import 'package:flutter_tools/src/base/platform.dart'; |
| import 'package:flutter_tools/src/project.dart'; |
| import 'package:flutter_tools/src/web/compile.dart'; |
| import 'package:flutter_tools/src/web/web_device.dart'; |
| import 'package:mockito/mockito.dart'; |
| |
| import '../src/common.dart'; |
| import '../src/context.dart'; |
| |
| void main() { |
| group(WebDevice, () { |
| final MockWebCompiler mockWebCompiler = MockWebCompiler(); |
| final MockChromeLauncher mockChromeLauncher = MockChromeLauncher(); |
| final MockPlatform mockPlatform = MockPlatform(); |
| FlutterProject flutterProject; |
| |
| setUp(() async { |
| flutterProject = FlutterProject.fromPath(fs.path.join(getFlutterRoot(), 'dev', 'integration_tests', 'web')); |
| when(mockWebCompiler.compile( |
| target: anyNamed('target'), |
| minify: anyNamed('minify'), |
| enabledAssertions: anyNamed('enabledAssertions'), |
| )).thenAnswer((Invocation invocation) async => 0); |
| when(mockChromeLauncher.launch(any)).thenAnswer((Invocation invocation) async { }); |
| }); |
| |
| testUsingContext('can build and connect to chrome', () async { |
| final WebDevice device = WebDevice(); |
| await device.startApp(WebApplicationPackage(flutterProject)); |
| }, overrides: <Type, Generator>{ |
| ChromeLauncher: () => mockChromeLauncher, |
| WebCompiler: () => mockWebCompiler, |
| Platform: () => mockPlatform, |
| }); |
| }); |
| } |
| |
| class MockChromeLauncher extends Mock implements ChromeLauncher {} |
| class MockWebCompiler extends Mock implements WebCompiler {} |
| class MockPlatform extends Mock implements Platform {} |
| |