OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 library pub_tests; | 1 library pub_tests; |
6 | |
7 import '../descriptor.dart' as d; | 2 import '../descriptor.dart' as d; |
8 import '../test_pub.dart'; | 3 import '../test_pub.dart'; |
9 import '../serve/utils.dart'; | 4 import '../serve/utils.dart'; |
10 | |
11 final transformer = """ | 5 final transformer = """ |
12 import 'dart:async'; | 6 import 'dart:async'; |
13 | 7 |
14 import 'package:barback/barback.dart'; | 8 import 'package:barback/barback.dart'; |
15 | 9 |
16 class RewriteTransformer extends Transformer { | 10 class RewriteTransformer extends Transformer { |
17 RewriteTransformer.asPlugin(); | 11 RewriteTransformer.asPlugin(); |
18 | 12 |
19 String get allowedExtensions => '.txt'; | 13 String get allowedExtensions => '.txt'; |
20 | 14 |
21 Future apply(Transform transform) => throw new Exception('oh no!'); | 15 Future apply(Transform transform) => throw new Exception('oh no!'); |
22 } | 16 } |
23 """; | 17 """; |
24 | |
25 main() { | 18 main() { |
26 initConfig(); | 19 initConfig(); |
27 withBarbackVersions("any", () { | 20 withBarbackVersions("any", () { |
28 integration("prints a transform error in apply", () { | 21 integration("prints a transform error in apply", () { |
29 d.dir(appPath, [ | 22 d.dir(appPath, [d.pubspec({ |
30 d.pubspec({ | |
31 "name": "myapp", | 23 "name": "myapp", |
32 "transformers": ["myapp/src/transformer"] | 24 "transformers": ["myapp/src/transformer"] |
33 }), | 25 }), |
34 d.dir("lib", [d.dir("src", [ | 26 d.dir("lib", [d.dir("src", [d.file("transformer.dart", transformer)]
)]), |
35 d.file("transformer.dart", transformer) | 27 d.dir("web", [d.file("foo.txt", "foo")])]).create(); |
36 ])]), | |
37 d.dir("web", [ | |
38 d.file("foo.txt", "foo") | |
39 ]) | |
40 ]).create(); | |
41 | |
42 createLockFile('myapp', pkg: ['barback']); | 28 createLockFile('myapp', pkg: ['barback']); |
43 | |
44 var server = pubServe(); | 29 var server = pubServe(); |
45 server.stderr.expect(emitsLines( | 30 server.stderr.expect( |
46 'Build error:\n' | 31 emitsLines( |
47 'Transform Rewrite on myapp|web/foo.txt threw error: oh no!')); | 32 'Build error:\n' 'Transform Rewrite on myapp|web/foo.txt threw err
or: oh no!')); |
48 endPubServe(); | 33 endPubServe(); |
49 }); | 34 }); |
50 }); | 35 }); |
51 } | 36 } |
OLD | NEW |