diff --git a/CHANGELOG.md b/CHANGELOG.md
index 01dbd59..95e3c37 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 #### 0.12.2+2
 
+* Update to transformer_test `0.2.x`.
+
+#### 0.12.2+2
+
 * Add support for code_transformers `0.4.x`.
 
 #### 0.12.2+1
diff --git a/pubspec.yaml b/pubspec.yaml
index 96fd45d..fa0e1a2 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: web_components
-version: 0.12.2+2
+version: 0.12.2+3
 author: Polymer.dart Authors <web-ui-dev@dartlang.org>
 homepage: https://github.com/dart-lang/web-components/
 description: >
@@ -18,7 +18,7 @@
   path: '^1.3.0'
 dev_dependencies:
   test: '^0.12.0'
-  transformer_test: '^0.1.0'
+  transformer_test: '^0.2.0'
   browser: '^0.10.0'
 transformers:
 - web_components/build/mirrors_remover:
diff --git a/test/build/import_crawler_test.dart b/test/build/import_crawler_test.dart
index 532bc84..b82a2f0 100644
--- a/test/build/import_crawler_test.dart
+++ b/test/build/import_crawler_test.dart
@@ -49,69 +49,91 @@
 }
 
 main() {
-  runTests([[new _TestTransformer('web/index.html')]]);
+  runTests([
+    [new _TestTransformer('web/index.html')]
+  ]);
   // Test with a preparsed original document as well.
-  runTests([[new _TestTransformer('web/index.html', true)]]);
+  runTests([
+    [new _TestTransformer('web/index.html', true)]
+  ]);
 }
 
 runTests(List<List<Transformer>> phases) {
-  testPhases('basic', phases, {
-    'a|web/index.html': '''
+  testPhases(
+      'basic',
+      phases,
+      {
+        'a|web/index.html': '''
       <link rel="import" href="foo.html">
       <link rel="import" href="packages/a/foo.html">
       <link rel="import" href="packages/b/foo.html">
       <link rel="import" href="packages/b/foo/bar.html">
       <div>a|web/index.html</div>
       ''',
-    'a|web/foo.html': '<div>a|web/foo.html</div>',
-    'a|lib/foo.html': '<div>a|lib/foo.html</div>',
-    'b|lib/foo.html': '''
+        'a|web/foo.html': '<div>a|web/foo.html</div>',
+        'a|lib/foo.html': '<div>a|lib/foo.html</div>',
+        'b|lib/foo.html': '''
       <link rel="import" href="foo/bar.html">
       <div>b|lib/foo.html</div>
       ''',
-    'b|lib/foo/bar.html': '<div>b|lib/foo/bar.html</div>',
-  }, {
-    'a|web/result.txt': '''
+        'b|lib/foo/bar.html': '<div>b|lib/foo/bar.html</div>',
+      },
+      {
+        'a|web/result.txt': '''
       (a|web/foo.html, a|lib/foo.html, b|lib/foo/bar.html, b|lib/foo.html, a|web/index.html)
       ''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+      },
+      messages: [],
+      formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
-  testPhases('cycle', phases, {
-    'a|web/index.html': '''
+  testPhases(
+      'cycle',
+      phases,
+      {
+        'a|web/index.html': '''
       <link rel="import" href="packages/a/foo.html">
       <div>a|web/index.html</div>
       ''',
-    'a|lib/foo.html': '''
+        'a|lib/foo.html': '''
       <link rel="import" href="bar.html">
       <div>a|lib/foo.html</div>''',
-    'a|lib/bar.html': '''
+        'a|lib/bar.html': '''
       <link rel="import" href="foo.html">
       <div>a|lib/bar.html</div>''',
-  }, {
-    'a|web/result.txt': '''
+      },
+      {
+        'a|web/result.txt': '''
       (a|lib/bar.html, a|lib/foo.html, a|web/index.html)
       ''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+      },
+      messages: [],
+      formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
-  testPhases('deep imports', phases, {
-    'a|web/index.html': '''
+  testPhases(
+      'deep imports',
+      phases,
+      {
+        'a|web/index.html': '''
       <link rel="import" href="packages/a/foo.html">
       <div>a|web/index.html</div>
       ''',
-    'a|lib/foo.html': '''
+        'a|lib/foo.html': '''
       <link rel="import" href="one/bar.html">
       <div>a|lib/foo.html</div>''',
-    'a|lib/one/bar.html': '''
+        'a|lib/one/bar.html': '''
       <link rel="import" href="two/baz.html">
       <div>a|lib/one/bar.html</div>''',
-    'a|lib/one/two/baz.html': '''
+        'a|lib/one/two/baz.html': '''
       <link rel="import" href="three/zap.html">
       <div>a|lib/one/two/baz.html</div>''',
-    'a|lib/one/two/three/zap.html': '''
+        'a|lib/one/two/three/zap.html': '''
       <div>a|lib/one/two/three/zap.html</div>''',
-  }, {
-    'a|web/result.txt':
-        '(a|lib/one/two/three/zap.html, a|lib/one/two/baz.html, '
-        'a|lib/one/bar.html, a|lib/foo.html, a|web/index.html)',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+      },
+      {
+        'a|web/result.txt':
+            '(a|lib/one/two/three/zap.html, a|lib/one/two/baz.html, '
+            'a|lib/one/bar.html, a|lib/foo.html, a|web/index.html)',
+      },
+      messages: [],
+      formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
diff --git a/test/build/import_inliner_test.dart b/test/build/import_inliner_test.dart
index cb7f389..b183538 100644
--- a/test/build/import_inliner_test.dart
+++ b/test/build/import_inliner_test.dart
@@ -26,7 +26,7 @@
   }, {
     'a|web/index.html': '''
         <!DOCTYPE html><html><head></head><body></body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('one import, removes dart script', phases, {
     'a|web/index.html': '''
@@ -50,7 +50,7 @@
             </div>
           </body>
         </html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('preserves order of scripts', phases, {
     'a|web/index.html': '''
@@ -76,7 +76,7 @@
         <script>/*forth*/</script>
         </div>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('preserves order of scripts, extract Dart scripts', phases, {
     'a|web/index.html': '''
@@ -128,7 +128,7 @@
             <polymer-element>2</polymer-element>
           </body>
         </html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('no transformation outside web/', phases, {
     'a|lib/test.html': '''
@@ -146,7 +146,7 @@
     'a|lib/test2.html': '''
         <!DOCTYPE html><html><head>
         </head><body><polymer-element>2</polymer-element></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('shallow, elements, many', phases, {
     'a|web/test.html': '''
@@ -175,7 +175,7 @@
     'a|web/test3.html': '''
         <!DOCTYPE html><html><head>
         </head><body><polymer-element>3</polymer-element></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('deep, elements, one per file', phases, {
     'a|web/test.html': '''
@@ -219,7 +219,7 @@
     'c|lib/test4.html': '''
         <!DOCTYPE html><html><head>
         </head><body><polymer-element>4</polymer-element></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('deep, elements, many imports', phases, {
     'a|web/test.html': '''
@@ -300,7 +300,7 @@
         </head><body>
         <polymer-element>4b</polymer-element>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('imports cycle, 1-step lasso', phases, {
     'a|web/test.html': '''
@@ -338,7 +338,7 @@
         <polymer-element>1</polymer-element>
         </div>
         <polymer-element>2</polymer-element></body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('imports cycle, 1-step lasso, scripts too', phases, {
     'a|web/test.html': '''
@@ -384,7 +384,7 @@
         </div>
         <polymer-element>2</polymer-element>
         <script src="s2"></script></body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('imports cycle, 1-step lasso, Dart scripts too', phases, {
     'a|web/test.html': '''
@@ -434,7 +434,7 @@
         <script type="application/dart" src="s2.dart"></script>
         </polymer-element>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('imports with Dart script after JS script', phases, {
     'a|web/test.html': '''
@@ -473,7 +473,7 @@
         <script type="application/dart" src="s1.dart"></script>
         </polymer-element>
         'FOO'</body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('imports cycle, 2-step lasso', phases, {
     'a|web/test.html': '''
@@ -526,7 +526,7 @@
         <polymer-element>1</polymer-element>
         </div>
         <polymer-element>3</polymer-element></body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('imports cycle, self cycle', phases, {
     'a|web/test.html': '''
@@ -549,7 +549,7 @@
         <!DOCTYPE html><html><head>
         </head><body>
         <polymer-element>1</polymer-element></body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('imports DAG', phases, {
     'a|web/test.html': '''
@@ -596,19 +596,19 @@
         <!DOCTYPE html><html><head>
         </head><body>
         <polymer-element>3</polymer-element></body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('missing html imports throw errors', phases, {
     'a|web/test.html': '''
         <!DOCTYPE html><html><head>
         <link rel="import" href="foo.html">
         </head></html>''',
-  }, {}, [
+  }, {}, messages: [
     'warning: ${inlineImportFail.create({
           'error': 'Could not find asset a|web/foo.html.'
       }).snippet} '
         '(web/test.html 1 8)',
-  ], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  ], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('absolute uri', phases, {
     'a|web/test.html': '''
@@ -628,7 +628,7 @@
         <!DOCTYPE html><html><head>
         <link rel="stylesheet" href="http:example.com/bar.css">
         </head></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
 
 void urlAttributeTests() {
@@ -654,7 +654,7 @@
         <script src="baz.jpg"></script>''',
     'a|web/foo/test_2.html': '''
         <foo-element src="baz.jpg"></foo-element>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('paths with an invalid prefix are not normalized', phases, {
     'a|web/test.html': '''
@@ -670,7 +670,7 @@
         <img src="[[bar]]">
         </div>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('relative paths followed by invalid characters are normalized',
       phases, {
@@ -689,7 +689,7 @@
         <img src="foo/{{bar}}">
         </div>
         </body></html>''',
-  }, null, StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('relative paths in _* attributes are normalized', phases, {
     'a|web/test.html': '''
@@ -707,7 +707,7 @@
         <a _href="foo/{{bar}}">test</a>
         </div>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('paths starting with a binding are treated as absolute', phases, {
     'a|web/test.html': '''
@@ -725,7 +725,7 @@
           <img _src="[[bar]]">
         </div>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('arbitrary bindings can exist in paths', phases, {
     'a|web/test.html': '''
@@ -739,7 +739,7 @@
         <img src="{{(bar[2] + baz[\'foo\']) * 14 / foobar() - 0.5}}.jpg">
         <img src="[[bar[2]]].jpg">
         </body></html>''',
-  }, null, StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('multiple bindings can exist in paths', phases, {
     'a|web/test.html': '''
@@ -751,7 +751,7 @@
         <!DOCTYPE html><html><head></head><body>
         <img src="{{bar[0]}}/{{baz[1]}}.{{extension}}">
         </body></html>''',
-  }, null, StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('relative paths in deep imports', phases, {
     'a|web/test.html': '''
@@ -773,7 +773,7 @@
           <style rel="stylesheet" href="css/zap.css"></style>
         </div>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
 
 void entryPointTests() {
@@ -794,7 +794,7 @@
         <script rel="import" href="../packages/b/bar/bar.js"></script>
         </div>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('includes in entry points normalize correctly', phases, {
     'a|web/test/test.html': '''
@@ -809,7 +809,7 @@
         <script src="../packages/a/foo/bar.js"></script>
         </head><body>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('two level deep entry points normalize correctly', phases, {
     'a|web/test/well/test.html': '''
@@ -827,7 +827,7 @@
         <script rel="import" href="../../packages/b/bar/bar.js"></script>
         </div>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
 
 // void templateTests() {
@@ -887,5 +887,5 @@
 //             </dom-module>
 //           </body>
 //         </html>''',
-//   }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+//   }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 // }
diff --git a/test/build/mirrors_remover_test.dart b/test/build/mirrors_remover_test.dart
index 37b43a3..de1a70c 100644
--- a/test/build/mirrors_remover_test.dart
+++ b/test/build/mirrors_remover_test.dart
@@ -30,5 +30,5 @@
 
         foo() {}
         ''',
-  }, []);
+  }, messages: []);
 }
diff --git a/test/build/script_compactor_test.dart b/test/build/script_compactor_test.dart
index e0a84d8..225783d 100644
--- a/test/build/script_compactor_test.dart
+++ b/test/build/script_compactor_test.dart
@@ -42,7 +42,7 @@
     'a|web/index.dart': '''
         library a.index;
         main(){}''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('multiple scripts from nested html import', phases, {
     'a|web/index.html': '''
@@ -88,7 +88,7 @@
         <link rel="import" href="b/b.html">
         <link rel="import" href="../../packages/c/c.html">
         <script type="application/dart" src="a.dart"></script>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('inline scripts', phases, {
     'a|web/index.html': '''
@@ -135,7 +135,7 @@
         import 'index.html.1.dart' as i1;
 
         main() => i1.main();''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('Cleans library names generated from file paths.', phases, {
     'a|web/01_test.html': '''
@@ -170,7 +170,7 @@
         'library a.web._test__foo_04__html_0;\n/*4*/',
     // Replace invalid character followed by number.
     'a|web/%05_test.html.0.dart': 'library a.web._05_test_html_0;\n/*5*/',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('file names with hyphens are ok', phases, {
     'a|web/a-b.html': '''
@@ -194,7 +194,7 @@
     'a|web/a-b.dart': '''
         library a.a_b;
         main(){}''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('package names with hyphens give an error', phases, {
     'a-b|web/a.html': '''
@@ -204,11 +204,11 @@
     'a-b|web/a.dart': '''
         library a.a;
         main(){}''',
-  }, {}, [
+  }, {}, messages: [
     'error: Invalid package name `a-b`. Package names should be '
     'valid dart identifiers, as indicated at '
     'https://www.dartlang.org/tools/pub/pubspec.html#name.'
-  ], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  ], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('package names that start with a period are not allowed', phases, {
     '.a|web/a.html': '''
@@ -218,11 +218,11 @@
     '.a|web/a.dart': '''
         library a.a;
         main(){}''',
-  }, {}, [
+  }, {}, messages: [
     'error: Invalid package name `.a`. Package names should be '
     'valid dart identifiers, as indicated at '
     'https://www.dartlang.org/tools/pub/pubspec.html#name.'
-  ], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  ], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('package names that end with a period are not allowed', phases, {
     'a.|web/a.html': '''
@@ -232,11 +232,11 @@
     'a.|web/a.dart': '''
         library a.a;
         main(){}''',
-  }, {}, [
+  }, {}, messages: [
     'error: Invalid package name `a.`. Package names should be '
     'valid dart identifiers, as indicated at '
     'https://www.dartlang.org/tools/pub/pubspec.html#name.'
-  ], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  ], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('package names with double periods are not allowed', phases, {
     'a..b|web/a.html': '''
@@ -246,11 +246,11 @@
     'a..b|web/a.dart': '''
         library a.a;
         main(){}''',
-  }, {}, [
+  }, {}, messages: [
     'error: Invalid package name `a..b`. Package names should be '
     'valid dart identifiers, as indicated at '
     'https://www.dartlang.org/tools/pub/pubspec.html#name.'
-  ], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  ], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('package names with internal periods are allowed', phases, {
     'a.b|web/a.html': '''
@@ -267,16 +267,16 @@
       import 'a.dart' as i0;
 
       main() => i0.main();''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
 
 void codeExtractorTests() {
   testPhases('no dart script', phases, {
     'a|web/test.html': '<!DOCTYPE html><html></html>',
-  }, {}, [
+  }, {}, messages: [
     'error: Found either zero or multiple dart scripts in the entry point '
         '`web/test.html`. Exactly one was expected.',
-  ], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  ], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('single script, no library in script', phases, {
     'a|web/test.html': '''
@@ -297,7 +297,7 @@
         import 'test.html.0.dart' as i0;
 
         main() => i0.main();''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('single script, with library', phases, {
     'a|web/test.html': '''
@@ -321,7 +321,7 @@
         import 'test.html.0.dart' as i0;
 
         main() => i0.main();''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('under lib/ directory not transformed', phases, {
     'a|lib/test.html': '''
@@ -337,7 +337,7 @@
           library f;
           main() { }
         </script>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('multiple scripts - error', phases, {
     'a|web/test.html': '''
@@ -347,10 +347,10 @@
             main1() { }
         </script>
         <script type="application/dart">library a2;\nmain2() { }</script>''',
-  }, {}, [
+  }, {}, messages: [
     'error: Found either zero or multiple dart scripts in the entry point '
         '`web/test.html`. Exactly one was expected.',
-  ], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  ], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('multiple imported scripts', phases, {
     'a|web/test.html': '''
@@ -396,7 +396,7 @@
     'a|web/test.html.3.dart': '''
         library a.web.test_html_3;
         main4() { }''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
 
 dartUriTests() {
@@ -441,7 +441,7 @@
         import 'foo.dart';
         export 'bar.dart';
         part 'baz.dart';''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('from lib folder', phases, {
     'a|web/test.html': '''
@@ -481,7 +481,7 @@
           part 'baz.dart';
         </script>
         </body></html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('from another pkg', phases, {
     'a|web/test.html': '''
@@ -512,7 +512,7 @@
         import 'package:b/test2/foo.dart';
         export 'package:b/test2/bar.dart';
         part 'package:b/test2/baz.dart';''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
 
 validateUriTests() {
@@ -521,7 +521,7 @@
         <!DOCTYPE html><html><body>
         <script type="application/dart" src="a.dart"></script>
         </body></html>''',
-  }, {}, [
+  }, {}, messages: [
     'warning: ${scriptFileNotFound.create({'url': 'a|web/a.dart'}).snippet} '
         '(web/test.html 1 8)',
   ]);
diff --git a/test/build/test_compatibility_test.dart b/test/build/test_compatibility_test.dart
index dc6e3cb..f27071a 100644
--- a/test/build/test_compatibility_test.dart
+++ b/test/build/test_compatibility_test.dart
@@ -31,7 +31,7 @@
           </head>
           <body></body>
         </html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('can rewrite script tags to x-dart-test link tags', [[end]], {
     'a|test/index.html': '''
@@ -52,7 +52,7 @@
           </head>
           <body></body>
         </html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('restores original application at the end', [[start], [end]], {
     'a|test/index.html': '''
@@ -72,5 +72,5 @@
           </head>
           <body></body>
         </html>''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
diff --git a/test/build/transformer_test.dart b/test/build/transformer_test.dart
index 35bc330..9542ca8 100644
--- a/test/build/transformer_test.dart
+++ b/test/build/transformer_test.dart
@@ -116,7 +116,7 @@
         @initMethod
         bar() {}
         ''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('imports go above the dart script', phases, {
     'b|web/index.html': '''
@@ -170,7 +170,7 @@
           </body>
         </html>
         ''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 
   testPhases('test compatibility', phases, {
     'a|test/index.html': '''
@@ -201,5 +201,5 @@
           <body></body>
         </html>
         ''',
-  }, [], StringFormatter.noNewlinesOrSurroundingWhitespace);
+  }, messages: [], formatter: StringFormatter.noNewlinesOrSurroundingWhitespace);
 }
