Fix test.
diff --git a/test/all_tests.dart b/test/all_tests.dart
index 26d1a2f..400bc88 100644
--- a/test/all_tests.dart
+++ b/test/all_tests.dart
@@ -14,6 +14,7 @@
import 'end_to_end_test.dart' as e2e;
import 'report_test.dart' as report_test;
import 'dependency_graph_test.dart' as dependency_graph_test;
+import 'transformer_test.dart' as transformer_test;
import 'utils_test.dart' as utils_test;
void main() {
@@ -21,6 +22,7 @@
group('report', report_test.main);
group('dependency_graph', dependency_graph_test.main);
group('codegen', () => codegen_test.main([]));
+ group('transformer', () => transformer_test.main([]));
group('closure', () {
closure_annotation_test.main();
closure_type_test.main();
diff --git a/test/transformer/transformer_test.dart b/test/transformer/transformer_test.dart
deleted file mode 100644
index 312135c..0000000
--- a/test/transformer/transformer_test.dart
+++ /dev/null
@@ -1,33 +0,0 @@
-library dev_compiler.test.transformer.transformer_test;
-
-import 'package:barback/barback.dart' show BarbackMode, BarbackSettings;
-import 'package:dev_compiler/transformer.dart';
-import 'package:test/test.dart';
-import 'package:transformer_test/utils.dart';
-import 'package:dev_compiler/src/compiler.dart' show defaultRuntimeFiles;
-
-makePhases([Map config = const {}]) => [[
- new DDCTransformer.asPlugin(new BarbackSettings(config, BarbackMode.RELEASE))
-]];
-
-final Map<String, String> runtimeInput =
- new Map.fromIterable(defaultRuntimeFiles,
- key: (f) => 'dev_compiler|lib/runtime/$f',
- value: (_) => '');
-
-Map<String, String> createInput(Map<String, String> input) =>
- {}..addAll(input)..addAll(runtimeInput);
-
-void main() {
- group('$DDCTransformer', () {
- testPhases(r'compiles simple code', makePhases(), createInput({
- 'foo|Foo.dart': r'''
- class Foo {}
- '''
- }), {
- 'foo|Foo.js': r'''
- class Foo {}
- '''
- });
- });
-}
diff --git a/test/transformer_test.dart b/test/transformer_test.dart
new file mode 100644
index 0000000..9216ec2
--- /dev/null
+++ b/test/transformer_test.dart
@@ -0,0 +1,80 @@
+library dev_compiler.test.transformer.transformer_test;
+
+import 'package:barback/barback.dart' show BarbackMode, BarbackSettings;
+import 'package:dev_compiler/transformer.dart';
+import 'package:test/test.dart';
+import 'package:transformer_test/utils.dart';
+import 'package:dev_compiler/src/compiler.dart' show defaultRuntimeFiles;
+
+makePhases([Map config = const {}]) => [[
+ new DDCTransformer.asPlugin(new BarbackSettings(config, BarbackMode.RELEASE))
+]];
+
+final Map<String, String> runtimeInput =
+ new Map.fromIterable(defaultRuntimeFiles,
+ key: (f) => 'dev_compiler|lib/runtime/$f',
+ value: (_) => '');
+
+Map<String, String> createInput(Map<String, String> input) =>
+ {}..addAll(input)..addAll(runtimeInput);
+
+void main(arguments) {
+ group('$DDCTransformer', () {
+ testPhases(r'compiles simple code', makePhases(), createInput({
+ 'foo|lib/Foo.dart': r'''
+ class Foo {}
+ '''
+ }), {
+ 'foo|web/foo/Foo.js': r'''
+dart_library.library('foo/Foo', null, /* Imports */[
+ 'dart/_runtime',
+ 'dart/core'
+], /* Lazy imports */[
+], function(exports, dart, core) {
+ 'use strict';
+ let dartx = dart.dartx;
+ class Foo extends core.Object {}
+ // Exports:
+ exports.Foo = Foo;
+});
+//# sourceMappingURL=Foo.js.map
+'''.trimLeft()
+ });
+
+ var args = ['--destructure-named-params', '--modules=es6', '--closure'];
+ testPhases(r'honours arguments', makePhases({'args': args}), createInput({
+ 'foo|lib/Foo.dart': r'''
+ int foo({String s : '?'}) {}
+ '''
+ }), {
+ 'foo|web/foo/Foo.js': r'''
+const exports = {};
+import dart from "../dart/_runtime";
+import core from "../dart/core";
+let dartx = dart.dartx;
+/**
+ * @param {{s: (string|undefined)}=} opts
+ * @return {?number}
+ */
+function foo({s = '?'} = {}) {
+}
+dart.fn(foo, core.int, [], {s: core.String});
+// Exports:
+exports.foo = foo;
+export default exports;
+//# sourceMappingURL=Foo.js.map
+'''.trimLeft()
+ });
+
+ testPhases('forwards errors', makePhases(), createInput({
+ 'foo|lib/Foo.dart': r'''
+ foo() {
+ var x = 1;
+ x = '2';
+ }
+ '''
+ }), {}, [
+ "error: Type check failed: '2' (String) is not of type int"
+ ]);
+ });
+}