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"
+    ]);
+  });
+}