Index: sdk/lib/_internal/pub/test/serve/prints_a_transform_error_in_apply_test.dart |
diff --git a/sdk/lib/_internal/pub/test/serve/prints_a_transform_error_in_apply_test.dart b/sdk/lib/_internal/pub/test/serve/prints_a_transform_error_in_apply_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e0b361d8459b8d42bce56733a8bf73d11362434c |
--- /dev/null |
+++ b/sdk/lib/_internal/pub/test/serve/prints_a_transform_error_in_apply_test.dart |
@@ -0,0 +1,52 @@ |
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.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. |
+ |
+library pub_tests; |
+ |
+import 'package:scheduled_test/scheduled_test.dart'; |
+ |
+import '../descriptor.dart' as d; |
+import '../test_pub.dart'; |
+import 'utils.dart'; |
+ |
+final transformer = """ |
+import 'dart:async'; |
+ |
+import 'package:barback/barback.dart'; |
+ |
+class RewriteTransformer extends Transformer { |
+ RewriteTransformer(); |
+ |
+ String get allowedExtensions => '.txt'; |
+ |
+ Future apply(Transform transform) => throw new Exception('oh no!'); |
+} |
+"""; |
+ |
+main() { |
+ initConfig(); |
+ integration("prints a transform error in apply", () { |
+ d.dir(appPath, [ |
+ d.pubspec({ |
+ "name": "myapp", |
+ "transformers": ["myapp/src/transformer"] |
+ }), |
+ d.dir("lib", [d.dir("src", [ |
+ d.file("transformer.dart", transformer) |
+ ])]), |
+ d.dir("web", [ |
+ d.file("foo.txt", "foo") |
+ ]) |
+ ]).create(); |
+ |
+ createLockFile('myapp', {}, pkg: ['barback']); |
+ |
+ var server = startPubServe(); |
+ expect(server.nextErrLine(), |
+ completion(equals('Build error:'))); |
+ expect(server.nextErrLine(), completion(equals('Transform Rewrite on ' |
+ 'myapp|web/foo.txt threw error: oh no!'))); |
+ endPubServe(); |
+ }); |
+} |