Index: pkg/code_transformers/lib/tests.dart |
diff --git a/pkg/code_transformers/lib/tests.dart b/pkg/code_transformers/lib/tests.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bd6886cadef7f6cbe77a4974bf5755beb3eadbef |
--- /dev/null |
+++ b/pkg/code_transformers/lib/tests.dart |
@@ -0,0 +1,40 @@ |
+// Copyright (c) 2014, 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. |
+ |
+/// Collection of utilities which are useful for creating unit tests for |
+/// Barback transformers. |
+library code_transformers.tests; |
+ |
+import 'dart:async' show Future; |
+ |
+import 'package:barback/barback.dart' show Transformer; |
+import 'package:unittest/unittest.dart'; |
+ |
+import 'src/test_harness.dart'; |
+ |
+/// Defines a test which invokes [applyTransformers]. |
+testPhases(String testName, List<List<Transformer>> phases, |
+ Map<String, String> inputs, Map<String, String> results, |
+ [List<String> messages]) { |
+ test(testName, |
+ () => applyTransformers(phases, inputs: inputs, results: results, |
+ messages: messages)); |
+} |
+ |
+/// Updates the provided transformers with [inputs] as asset inputs then |
+/// validates that [results] were generated. |
+/// |
+/// The keys for inputs and results are 'package_name|lib/file.dart'. |
+/// Only files which are specified in results are validated. |
+/// |
+/// If [messages] is non-null then this will validate that only the specified |
+/// messages were generated, ignoring info messages. |
+Future applyTransformers(List<List<Transformer>> phases, |
+ {Map<String, String> inputs: const {}, |
+ Map<String, String> results: const {}, |
+ List<String> messages: const []}) { |
+ |
+ var helper = new TestHelper(phases, inputs, messages)..run(); |
+ return helper.checkAll(results).then((_) => helper.tearDown()); |
+} |