| Index: pkg/front_end/test/src/base/processed_options_test.dart
|
| diff --git a/pkg/front_end/test/src/base/processed_options_test.dart b/pkg/front_end/test/src/base/processed_options_test.dart
|
| index 365c5f2ce5d38e4f63bc1abeee6fd284a79f5ca3..e968c8abbe69d8774b3e99bac18b3799da3a8f7f 100644
|
| --- a/pkg/front_end/test/src/base/processed_options_test.dart
|
| +++ b/pkg/front_end/test/src/base/processed_options_test.dart
|
| @@ -4,13 +4,10 @@
|
|
|
| import 'dart:async';
|
|
|
| +import 'package:analyzer/src/summary/format.dart';
|
| import 'package:front_end/compiler_options.dart';
|
| import 'package:front_end/memory_file_system.dart';
|
| import 'package:front_end/src/base/processed_options.dart';
|
| -import 'package:front_end/src/fasta/fasta.dart' show ByteSink;
|
| -import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter;
|
| -import 'package:kernel/kernel.dart' show Program, Library;
|
| -
|
| import 'package:test/test.dart';
|
| import 'package:test_reflective_loader/test_reflective_loader.dart';
|
|
|
| @@ -24,10 +21,16 @@ main() {
|
| class ProcessedOptionsTest {
|
| final fileSystem = new MemoryFileSystem(Uri.parse('file:///'));
|
|
|
| - Program _mockOutline;
|
| + PackageBundleBuilder _mockSdkSummary;
|
|
|
| - Program get mockSummary => _mockOutline ??=
|
| - new Program(libraries: [new Library(Uri.parse('file:///a/b.dart'))]);
|
| + PackageBundleBuilder get mockSdkSummary => _mockSdkSummary ??=
|
| + new PackageBundleBuilder(apiSignature: 'mock summary signature');
|
| +
|
| + Future<Null> checkMockSummary(CompilerOptions raw) async {
|
| + var processed = new ProcessedOptions(raw);
|
| + var sdkSummary = await processed.getSdkSummary();
|
| + expect(sdkSummary.apiSignature, mockSdkSummary.apiSignature);
|
| + }
|
|
|
| test_compileSdk_false() {
|
| for (var value in [false, true]) {
|
| @@ -45,25 +48,37 @@ class ProcessedOptionsTest {
|
| expect(processed.fileSystem, same(fileSystem));
|
| }
|
|
|
| - test_getSdkSummary_summaryLocationProvided() async {
|
| - var uri = Uri.parse('file:///sdkSummary');
|
| - writeMockSummaryTo(uri);
|
| + test_getSdkSummary_sdkLocationProvided_noTrailingSlash() async {
|
| + var uri = Uri.parse('file:///sdk');
|
| + writeMockSummaryTo(Uri.parse('$uri/lib/_internal/strong.sum'));
|
| checkMockSummary(new CompilerOptions()
|
| ..fileSystem = fileSystem
|
| - ..sdkSummary = uri);
|
| + ..sdkRoot = uri);
|
| }
|
|
|
| - void writeMockSummaryTo(Uri uri) {
|
| - var sink = new ByteSink();
|
| - new BinaryPrinter(sink).writeProgramFile(mockSummary);
|
| - fileSystem.entityForUri(uri).writeAsBytesSync(sink.builder.takeBytes());
|
| + test_getSdkSummary_sdkLocationProvided_spec() async {
|
| + var uri = Uri.parse('file:///sdk');
|
| + writeMockSummaryTo(Uri.parse('$uri/lib/_internal/spec.sum'));
|
| + checkMockSummary(new CompilerOptions()
|
| + ..fileSystem = fileSystem
|
| + ..strongMode = false
|
| + ..sdkRoot = uri);
|
| }
|
|
|
| - Future<Null> checkMockSummary(CompilerOptions raw) async {
|
| - var processed = new ProcessedOptions(raw);
|
| - var sdkSummary = await processed.sdkSummaryProgram;
|
| - expect(sdkSummary.libraries.single.importUri,
|
| - mockSummary.libraries.single.importUri);
|
| + test_getSdkSummary_sdkLocationProvided_trailingSlash() async {
|
| + var uri = Uri.parse('file:///sdk');
|
| + writeMockSummaryTo(Uri.parse('$uri/lib/_internal/strong.sum'));
|
| + checkMockSummary(new CompilerOptions()
|
| + ..fileSystem = fileSystem
|
| + ..sdkRoot = Uri.parse('$uri/'));
|
| + }
|
| +
|
| + test_getSdkSummary_summaryLocationProvided() async {
|
| + var uri = Uri.parse('file:///sdkSummary');
|
| + writeMockSummaryTo(uri);
|
| + checkMockSummary(new CompilerOptions()
|
| + ..fileSystem = fileSystem
|
| + ..sdkSummary = uri);
|
| }
|
|
|
| test_getUriTranslator_explicitPackagesFile() async {
|
| @@ -113,4 +128,8 @@ class ProcessedOptionsTest {
|
| var uriTranslator = await processed.getUriTranslator();
|
| expect(uriTranslator.packages, isEmpty);
|
| }
|
| +
|
| + void writeMockSummaryTo(Uri uri) {
|
| + fileSystem.entityForUri(uri).writeAsBytesSync(mockSdkSummary.toBuffer());
|
| + }
|
| }
|
|
|