| Index: tests/compiler/dart2js/kernel/compile_from_dill_fast_startup_test.dart
|
| diff --git a/tests/compiler/dart2js/kernel/compile_from_dill_fast_startup_test.dart b/tests/compiler/dart2js/kernel/compile_from_dill_fast_startup_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a25a999d63f83ec3f4464926c366ce631effd90f
|
| --- /dev/null
|
| +++ b/tests/compiler/dart2js/kernel/compile_from_dill_fast_startup_test.dart
|
| @@ -0,0 +1,68 @@
|
| +// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +// Test compilation equivalence between source and .dill based
|
| +// compilation using the fast_startup emitter.
|
| +library dart2js.kernel.compile_from_dill_fast_startup_test;
|
| +
|
| +import 'dart:async';
|
| +import 'package:async_helper/async_helper.dart';
|
| +import 'package:compiler/src/commandline_options.dart';
|
| +import '../serialization/helper.dart';
|
| +
|
| +import 'compile_from_dill_test_helper.dart';
|
| +
|
| +// TODO(johnniwinther): Maybe share this with 'compile_from_dill_test.dart'.
|
| +const SOURCE = const {
|
| + 'main.dart': '''
|
| +foo({named}) => 1;
|
| +bar(a) => !a;
|
| +class Class {
|
| + var field;
|
| + static var staticField;
|
| + Class(this.field);
|
| +}
|
| +main() {
|
| + foo();
|
| + bar(true);
|
| + [];
|
| + {};
|
| + new Object();
|
| + new Class('');
|
| + Class.staticField;
|
| + var x = null;
|
| + for (int i = 0; i < 10; i++) {
|
| + x = i;
|
| + if (i == 5) break;
|
| + }
|
| + return x;
|
| +}
|
| +'''
|
| +};
|
| +
|
| +main(List<String> args) {
|
| + asyncTest(() async {
|
| + await mainInternal(args);
|
| + });
|
| +}
|
| +
|
| +Future<ResultKind> mainInternal(List<String> args,
|
| + {bool skipWarnings: false, bool skipErrors: false}) async {
|
| + Arguments arguments = new Arguments.from(args);
|
| + Uri entryPoint;
|
| + Map<String, String> memorySourceFiles;
|
| + if (arguments.uri != null) {
|
| + entryPoint = arguments.uri;
|
| + memorySourceFiles = const <String, String>{};
|
| + } else {
|
| + entryPoint = Uri.parse('memory:main.dart');
|
| + memorySourceFiles = SOURCE;
|
| + }
|
| +
|
| + return runTest(entryPoint, memorySourceFiles,
|
| + verbose: arguments.verbose,
|
| + skipWarnings: skipWarnings,
|
| + skipErrors: skipErrors,
|
| + options: [Flags.fastStartup]);
|
| +}
|
|
|