OLD | NEW |
| (Empty) |
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 import '../descriptor.dart' as d; | |
6 import '../test_pub.dart'; | |
7 import '../serve/utils.dart'; | |
8 | |
9 /// The code for a transformer that renames ".js" files to ".out". | |
10 const JS_REWRITE_TRANSFORMER = """ | |
11 import 'dart:async'; | |
12 | |
13 import 'package:barback/barback.dart'; | |
14 | |
15 class RewriteTransformer extends Transformer { | |
16 RewriteTransformer.asPlugin(); | |
17 | |
18 String get allowedExtensions => '.js'; | |
19 | |
20 Future apply(Transform transform) { | |
21 return transform.primaryInput.readAsString().then((contents) { | |
22 var id = transform.primaryInput.id.changeExtension(".out"); | |
23 transform.addOutput(new Asset.fromString(id, contents)); | |
24 }); | |
25 } | |
26 } | |
27 """; | |
28 | |
29 main() { | |
30 initConfig(); | |
31 withBarbackVersions("any", () { | |
32 integration("output can be consumed by successive phases", () { | |
33 d.dir(appPath, [ | |
34 d.pubspec({ | |
35 "name": "myapp", | |
36 "transformers": ["\$dart2js", "myapp/src/transformer"] | |
37 }), | |
38 d.dir("lib", [d.dir("src", [ | |
39 d.file("transformer.dart", JS_REWRITE_TRANSFORMER) | |
40 ])]), | |
41 d.dir("web", [d.file("main.dart", "void main() {}")]) | |
42 ]).create(); | |
43 | |
44 createLockFile('myapp', pkg: ['barback']); | |
45 | |
46 pubServe(); | |
47 requestShouldSucceed("main.dart.out", isUnminifiedDart2JSOutput); | |
48 endPubServe(); | |
49 }); | |
50 }); | |
51 } | |
OLD | NEW |