flutter/packages/flutter_tools/test/general.shard/bundle_shim_test.dart
Jonah Williams 74bd7b6f6d
[flutter_tools] opt all flutter tool libraries and tests out of null safety. (#74832)
* opt out the flutter tool

* oops EOF

* fix import

* Update tool_backend.dart

* Update daemon_client.dart

* fix more
2021-01-27 15:17:53 -08:00

71 lines
2.6 KiB
Dart

// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.8
import 'package:flutter_tools/src/build_info.dart';
import 'package:flutter_tools/src/build_system/build_system.dart';
import 'package:flutter_tools/src/bundle.dart';
import 'package:flutter_tools/src/project.dart';
import 'package:flutter_tools/src/globals.dart' as globals;
import 'package:mockito/mockito.dart';
import '../src/common.dart';
import '../src/testbed.dart';
// Tests for the temporary flutter assemble/bundle shim.
void main() {
Testbed testbed;
setUp(() {
testbed = Testbed(overrides: <Type, Generator>{
BuildSystem: () => MockBuildSystem(),
});
});
test('Copies assets to expected directory after building', () => testbed.run(() async {
when(globals.buildSystem.build(any, any)).thenAnswer((Invocation invocation) async {
final Environment environment = invocation.positionalArguments[1] as Environment;
environment.outputDir.childFile('kernel_blob.bin').createSync(recursive: true);
environment.outputDir.childFile('isolate_snapshot_data').createSync();
environment.outputDir.childFile('vm_snapshot_data').createSync();
environment.outputDir.childFile('LICENSE').createSync(recursive: true);
return BuildResult(success: true);
});
await buildWithAssemble(
buildMode: BuildMode.debug,
flutterProject: FlutterProject.current(),
mainPath: globals.fs.path.join('lib', 'main.dart'),
outputDir: 'example',
targetPlatform: TargetPlatform.ios,
depfilePath: 'example.d',
treeShakeIcons: false,
);
expect(globals.fs.file(globals.fs.path.join('example', 'kernel_blob.bin')).existsSync(), true);
expect(globals.fs.file(globals.fs.path.join('example', 'LICENSE')).existsSync(), true);
expect(globals.fs.file(globals.fs.path.join('example.d')).existsSync(), false);
}));
test('Handles build system failure', () => testbed.run(() {
when(globals.buildSystem.build(any, any)).thenAnswer((Invocation _) async {
return BuildResult(
success: false,
exceptions: <String, ExceptionMeasurement>{},
);
});
expect(() => buildWithAssemble(
buildMode: BuildMode.debug,
flutterProject: FlutterProject.current(),
mainPath: 'lib/main.dart',
outputDir: 'example',
targetPlatform: TargetPlatform.linux_x64,
depfilePath: 'example.d',
treeShakeIcons: false,
), throwsToolExit());
}));
}
class MockBuildSystem extends Mock implements BuildSystem {}