OLD | NEW |
| (Empty) |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS 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 import '../descriptor.dart' as d; | |
6 import '../test_pub.dart'; | |
7 import '../serve/utils.dart'; | |
8 | |
9 const TRANSFORMER = """ | |
10 import 'dart:async'; | |
11 | |
12 import 'package:barback/barback.dart'; | |
13 | |
14 class BrokenTransformer extends Transformer { | |
15 RewriteTransformer.asPlugin() { | |
16 throw 'This transformer is broken!'; | |
17 } | |
18 | |
19 String get allowedExtensions => '.txt'; | |
20 | |
21 void apply(Transform transform) {} | |
22 } | |
23 """; | |
24 | |
25 main() { | |
26 initConfig(); | |
27 withBarbackVersions("any", () { | |
28 integration("doesn't load an unnecessary transformer", () { | |
29 d.dir(appPath, [ | |
30 d.pubspec({ | |
31 "name": "myapp", | |
32 "transformers": [ | |
33 {"myapp/src/transformer": {r"$include": "lib/myapp.dart"}} | |
34 ] | |
35 }), | |
36 d.dir("lib", [ | |
37 d.file("myapp.dart", ""), | |
38 d.dir("src", [d.file("transformer.dart", TRANSFORMER)]) | |
39 ]), | |
40 d.dir("bin", [ | |
41 d.file("hi.dart", "void main() => print('Hello!');") | |
42 ]) | |
43 ]).create(); | |
44 | |
45 createLockFile('myapp', pkg: ['barback']); | |
46 | |
47 // This shouldn't load the transformer, since it doesn't transform | |
48 // anything that the entrypoint imports. If it did load the transformer, | |
49 // we'd know since it would throw an exception. | |
50 var pub = pubRun(args: ["bin/hi"]); | |
51 pub.stdout.expect("Hello!"); | |
52 pub.shouldExit(); | |
53 }); | |
54 }); | |
55 } | |
OLD | NEW |