blob: 562e9bf6a45de99301b107fa7575c50432c30cd7 [file] [log] [blame]
// 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 = await 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 {}