OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.file | 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 | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library pub_tests; | 5 library pub_tests; |
6 | 6 |
7 import '../descriptor.dart' as d; | 7 import '../descriptor.dart' as d; |
8 import '../test_pub.dart'; | 8 import '../test_pub.dart'; |
9 import '../serve/utils.dart'; | 9 import '../serve/utils.dart'; |
10 | 10 |
11 main() { | 11 main() { |
12 withBarbackVersions("any", () { | 12 integration("loads a diamond transformer dependency graph", () { |
13 integration("loads a diamond transformer dependency graph", () { | 13 d.dir("top", [ |
14 d.dir("top", [ | 14 d.pubspec({ |
15 d.pubspec({ | 15 "name": "top", |
16 "name": "top", | 16 "version": "1.0.0" |
17 "version": "1.0.0" | 17 }), |
18 }), | 18 d.dir("lib", [ |
19 d.dir("lib", [ | 19 d.file("transformer.dart", dartTransformer('top')), |
20 d.file("transformer.dart", dartTransformer('top')), | 20 ]) |
21 ]) | 21 ]).create(); |
22 ]).create(); | |
23 | 22 |
24 d.dir("left", [ | 23 d.dir("left", [ |
25 d.pubspec({ | 24 d.pubspec({ |
26 "name": "left", | 25 "name": "left", |
27 "version": "1.0.0", | 26 "version": "1.0.0", |
28 "transformers": ["top/transformer"], | 27 "transformers": ["top/transformer"], |
29 "dependencies": {"top": {"path": "../top"}} | 28 "dependencies": {"top": {"path": "../top"}} |
30 }), | 29 }), |
31 d.dir("lib", [ | 30 d.dir("lib", [ |
32 d.file("transformer.dart", dartTransformer('left')), | 31 d.file("transformer.dart", dartTransformer('left')), |
33 ]) | 32 ]) |
34 ]).create(); | 33 ]).create(); |
35 | 34 |
36 d.dir("right", [ | 35 d.dir("right", [ |
37 d.pubspec({ | 36 d.pubspec({ |
38 "name": "right", | 37 "name": "right", |
39 "version": "1.0.0", | 38 "version": "1.0.0", |
40 "transformers": ["top/transformer"], | 39 "transformers": ["top/transformer"], |
41 "dependencies": {"top": {"path": "../top"}} | 40 "dependencies": {"top": {"path": "../top"}} |
42 }), | 41 }), |
43 d.dir("lib", [ | 42 d.dir("lib", [ |
44 d.file("transformer.dart", dartTransformer('right')), | 43 d.file("transformer.dart", dartTransformer('right')), |
45 ]) | 44 ]) |
46 ]).create(); | 45 ]).create(); |
47 | 46 |
48 d.dir(appPath, [ | 47 d.dir(appPath, [ |
49 d.pubspec({ | 48 d.pubspec({ |
50 "name": "myapp", | 49 "name": "myapp", |
51 "transformers": [ | 50 "transformers": [ |
52 "left/transformer", | 51 "left/transformer", |
53 "right/transformer", | 52 "right/transformer", |
54 "myapp/transformer" | 53 "myapp/transformer" |
55 ], | 54 ], |
56 "dependencies": { | 55 "dependencies": { |
57 'left': {'path': '../left'}, | 56 'left': {'path': '../left'}, |
58 'right': {'path': '../right'}, | 57 'right': {'path': '../right'}, |
59 } | 58 } |
60 }), | 59 }), |
61 d.dir("lib", [ | 60 d.dir("lib", [ |
62 d.file("transformer.dart", dartTransformer('myapp')) | 61 d.file("transformer.dart", dartTransformer('myapp')) |
63 ]), | 62 ]), |
64 d.dir("web", [ | 63 d.dir("web", [ |
65 d.file("main.dart", 'const TOKEN = "main.dart";') | 64 d.file("main.dart", 'const TOKEN = "main.dart";') |
66 ]) | 65 ]) |
67 ]).create(); | 66 ]).create(); |
68 | 67 |
69 createLockFile('myapp', | 68 createLockFile('myapp', |
70 sandbox: ['top', 'left', 'right'], | 69 sandbox: ['top', 'left', 'right'], |
71 pkg: ['barback']); | 70 pkg: ['barback']); |
72 | 71 |
73 pubServe(); | 72 pubServe(); |
74 requestShouldSucceed("main.dart", | 73 requestShouldSucceed("main.dart", |
75 'const TOKEN = "(((main.dart, (left, top)), (right, top)), ((myapp, ' | 74 'const TOKEN = "(((main.dart, (left, top)), (right, top)), ((myapp, ' |
76 '(left, top)), (right, top)))";'); | 75 '(left, top)), (right, top)))";'); |
77 endPubServe(); | 76 endPubServe(); |
78 }); | 77 }); |
79 }); | |
80 } | 78 } |
OLD | NEW |