| Index: test/codegen_test.dart
|
| diff --git a/test/codegen_test.dart b/test/codegen_test.dart
|
| index 797537885c7ddb2b1c9c38b6fef32f52dadf0758..0037e41eb82cdd479bbf3ce3fba4412dd4e4fcff 100644
|
| --- a/test/codegen_test.dart
|
| +++ b/test/codegen_test.dart
|
| @@ -12,13 +12,15 @@ import 'package:cli_util/cli_util.dart' show getSdkDir;
|
| import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine, Logger;
|
| import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
|
| import 'package:args/args.dart';
|
| -import 'package:cli_util/cli_util.dart' show getSdkDir;
|
| -import 'package:dev_compiler/devc.dart';
|
| -import 'package:dev_compiler/src/options.dart';
|
| import 'package:logging/logging.dart' show Level;
|
| import 'package:path/path.dart' as path;
|
| import 'package:unittest/unittest.dart';
|
|
|
| +import 'package:dev_compiler/devc.dart';
|
| +import 'package:dev_compiler/src/options.dart';
|
| +import 'package:dev_compiler/src/dependency_graph.dart'
|
| + show defaultRuntimeFiles;
|
| +
|
| final ArgParser argParser = new ArgParser()
|
| ..addOption('dart-sdk', help: 'Dart SDK Path', defaultsTo: null)
|
| ..addFlag('dart-gen',
|
| @@ -114,38 +116,37 @@ main(arguments) {
|
| });
|
| }
|
|
|
| - group('sdk', () {
|
| - // The analyzer does not bubble exception messages for certain internal
|
| - // dart:* library failures, such as failing to find
|
| - // "_internal/libraries.dart". Instead it produces an opaque "failed to
|
| - // instantiate dart:core" message. To remedy this we hook up an analysis
|
| - // logger that prints these messages.
|
| - var savedLogger;
|
| - setUp(() {
|
| - savedLogger = AnalysisEngine.instance.logger;
|
| - AnalysisEngine.instance.logger = new PrintLogger();
|
| - });
|
| - tearDown(() {
|
| - AnalysisEngine.instance.logger = savedLogger;
|
| + if (dartGen) {
|
| + group('sdk', () {
|
| + // The analyzer does not bubble exception messages for certain internal
|
| + // dart:* library failures, such as failing to find
|
| + // "_internal/libraries.dart". Instead it produces an opaque "failed to
|
| + // instantiate dart:core" message. To remedy this we hook up an analysis
|
| + // logger that prints these messages.
|
| + var savedLogger;
|
| + setUp(() {
|
| + savedLogger = AnalysisEngine.instance.logger;
|
| + AnalysisEngine.instance.logger = new PrintLogger();
|
| + });
|
| + tearDown(() {
|
| + AnalysisEngine.instance.logger = savedLogger;
|
| + });
|
| +
|
| + test('devc dart:core', () {
|
| + // Get the test SDK. We use a checked in copy so test expectations can
|
| + // be generated against a specific SDK version.
|
| + var testSdk = path.join(testDir, '..', 'tool', 'input_sdk');
|
| + var result = compile('dart:core', testSdk, checkSdk: true);
|
| + var outputDir = new Directory(path.join(actualDir, 'core'));
|
| + var outFile = new File(path.join(actualDir, 'core/core'));
|
| + expect(outFile.existsSync(), true,
|
| + reason: '${outFile.path} was created for dart:core');
|
| + });
|
| });
|
| + }
|
|
|
| - test('devc dart:core', () {
|
| - // Get the test SDK. We use a checked in copy so test expectations can be
|
| - // generated against a specific SDK version.
|
| - // TODO(jmesserly): eventually we should track compiler messages.
|
| - // For now we're just trying to get decent code generation.
|
| - var testSdk = dartGen
|
| - ? path.join(testDir, '..', 'tool', 'input_sdk')
|
| - : path.join(testDir, 'generated_sdk');
|
| - var result = compile('dart:core', testSdk, checkSdk: true);
|
| - var outputDir = new Directory(path.join(actualDir, 'core'));
|
| - var outFile = dartGen
|
| - ? new File(path.join(actualDir, 'core/core'))
|
| - : new File(path.join(actualDir, 'dart/core.js'));
|
| - expect(outFile.existsSync(), true,
|
| - reason: '${outFile.path} was created for dart:core');
|
| - });
|
| - });
|
| + var expectedRuntime =
|
| + defaultRuntimeFiles.map((f) => 'dev_compiler/runtime/$f');
|
|
|
| if (!dartGen) {
|
| test('devc jscodegen sunflower.html', () {
|
| @@ -164,10 +165,8 @@ main(arguments) {
|
| 'sunflower.js',
|
| 'sunflower.css',
|
| 'math.png',
|
| - 'dev_compiler/runtime/dart_core.js',
|
| - 'dev_compiler/runtime/dart_runtime.js',
|
| - 'dev_compiler/runtime/harmony_feature_check.js',
|
| - ];
|
| + ]..addAll(expectedRuntime);
|
| +
|
| for (var filepath in expectedFiles) {
|
| var outFile = new File(path.join(actualDir, 'sunflower', filepath));
|
| expect(outFile.existsSync(), success,
|
| @@ -192,11 +191,9 @@ main(arguments) {
|
| 'dir/html_input_b.js',
|
| 'dir/html_input_c.js',
|
| 'dir/html_input_d.js',
|
| - 'dir/html_input_e.js',
|
| - 'dev_compiler/runtime/dart_core.js',
|
| - 'dev_compiler/runtime/dart_runtime.js',
|
| - 'dev_compiler/runtime/harmony_feature_check.js',
|
| - ];
|
| + 'dir/html_input_e.js'
|
| + ]..addAll(expectedRuntime);
|
| +
|
| for (var filepath in expectedFiles) {
|
| var outFile = new File(path.join(actualDir, filepath));
|
| expect(outFile.existsSync(), success,
|
| @@ -233,12 +230,10 @@ main(arguments) {
|
| 'dir/html_input_c.js',
|
| 'dir/html_input_d.js',
|
| 'dir/html_input_e.js',
|
| - 'dev_compiler/runtime/dart_core.js',
|
| - 'dev_compiler/runtime/dart_runtime.js',
|
| - 'dev_compiler/runtime/harmony_feature_check.js',
|
| 'dev_compiler/runtime/messages_widget.js',
|
| 'dev_compiler/runtime/messages.css'
|
| - ];
|
| + ]..addAll(expectedRuntime);
|
| +
|
| for (var filepath in expectedFiles) {
|
| var outFile = new File(path.join(actualDir, 'server_mode', filepath));
|
| expect(outFile.existsSync(), success,
|
|
|