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 library pub_tests; | |
6 | |
7 import '../descriptor.dart' as d; | |
8 import '../test_pub.dart'; | |
9 import 'utils.dart'; | |
10 | |
11 void main() { | |
12 initConfig(); | |
13 | |
14 integration( | |
15 "reports a dependency if a transformed local file is imported", | |
16 () { | |
17 d.dir(appPath, [d.pubspec({ | |
18 "name": "myapp", | |
19 "dependencies": { | |
20 "foo": { | |
21 "path": "../foo" | |
22 } | |
23 }, | |
24 "transformers": [{ | |
25 "foo": { | |
26 "\$include": "lib/lib.dart" | |
27 } | |
28 }, "myapp"] | |
29 }), | |
30 d.dir( | |
31 "lib", | |
32 [ | |
33 d.file("myapp.dart", ""), | |
34 d.file("lib.dart", ""), | |
35 d.file("transformer.dart", transformer(["lib.dart"]))])]).crea
te(); | |
36 | |
37 d.dir("foo", [d.pubspec({ | |
38 "name": "foo", | |
39 "version": "1.0.0" | |
40 }), d.dir("lib", [d.file("foo.dart", transformer())])]).create(); | |
41 | |
42 expectDependencies({ | |
43 'myapp': ['foo'], | |
44 'foo': [] | |
45 }); | |
46 }); | |
47 | |
48 integration( | |
49 "reports a dependency if a transformed foreign file is imported", | |
50 () { | |
51 d.dir(appPath, [d.pubspec({ | |
52 "name": "myapp", | |
53 "dependencies": { | |
54 "foo": { | |
55 "path": "../foo" | |
56 } | |
57 }, | |
58 "transformers": ["myapp"] | |
59 }), | |
60 d.dir( | |
61 "lib", | |
62 [ | |
63 d.file("myapp.dart", ""), | |
64 d.file("transformer.dart", transformer(["package:foo/foo.dart"
]))])]).create(); | |
65 | |
66 d.dir("foo", [d.pubspec({ | |
67 "name": "foo", | |
68 "version": "1.0.0", | |
69 "transformers": [{ | |
70 "foo": { | |
71 "\$include": "lib/foo.dart" | |
72 } | |
73 }] | |
74 }), | |
75 d.dir( | |
76 "lib", | |
77 [d.file("foo.dart", ""), d.file("transformer.dart", transformer())
])]).create(); | |
78 | |
79 expectDependencies({ | |
80 'myapp': ['foo'], | |
81 'foo': [] | |
82 }); | |
83 }); | |
84 | |
85 integration( | |
86 "reports a dependency if a transformed external package file is " | |
87 "imported from an export", | |
88 () { | |
89 d.dir(appPath, [d.pubspec({ | |
90 "name": "myapp", | |
91 "dependencies": { | |
92 "foo": { | |
93 "path": "../foo" | |
94 } | |
95 }, | |
96 "transformers": ["myapp"] | |
97 }), | |
98 d.dir( | |
99 "lib", | |
100 [ | |
101 d.file("myapp.dart", ""), | |
102 d.file("transformer.dart", transformer(["local.dart"])), | |
103 d.file("local.dart", "export 'package:foo/foo.dart';")])]).cre
ate(); | |
104 | |
105 d.dir("foo", [d.pubspec({ | |
106 "name": "foo", | |
107 "version": "1.0.0", | |
108 "transformers": [{ | |
109 "foo": { | |
110 "\$include": "lib/foo.dart" | |
111 } | |
112 }] | |
113 }), | |
114 d.dir( | |
115 "lib", | |
116 [d.file("foo.dart", ""), d.file("transformer.dart", transformer())
])]).create(); | |
117 | |
118 expectDependencies({ | |
119 'myapp': ['foo'], | |
120 'foo': [] | |
121 }); | |
122 }); | |
123 | |
124 integration( | |
125 "reports a dependency if a transformed foreign file is " | |
126 "transitively imported", | |
127 () { | |
128 d.dir(appPath, [d.pubspec({ | |
129 "name": "myapp", | |
130 "dependencies": { | |
131 "foo": { | |
132 "path": "../foo" | |
133 } | |
134 }, | |
135 "transformers": ["myapp"] | |
136 }), | |
137 d.dir( | |
138 "lib", | |
139 [ | |
140 d.file("myapp.dart", ""), | |
141 d.file("transformer.dart", transformer(["local.dart"])), | |
142 d.file("local.dart", "import 'package:foo/foreign.dart';")])])
.create(); | |
143 | |
144 d.dir("foo", [d.pubspec({ | |
145 "name": "foo", | |
146 "version": "1.0.0", | |
147 "transformers": [{ | |
148 "foo": { | |
149 "\$include": "lib/foo.dart" | |
150 } | |
151 }] | |
152 }), | |
153 d.dir( | |
154 "lib", | |
155 [ | |
156 d.file("foo.dart", ""), | |
157 d.file("transformer.dart", transformer()), | |
158 d.file("foreign.dart", "import 'foo.dart';")])]).create(); | |
159 | |
160 expectDependencies({ | |
161 'myapp': ['foo'], | |
162 'foo': [] | |
163 }); | |
164 }); | |
165 | |
166 integration( | |
167 "reports a dependency if a transformed foreign file is " | |
168 "transitively imported across packages", | |
169 () { | |
170 d.dir(appPath, [d.pubspec({ | |
171 "name": "myapp", | |
172 "dependencies": { | |
173 "foo": { | |
174 "path": "../foo" | |
175 } | |
176 }, | |
177 "transformers": ["myapp"] | |
178 }), | |
179 d.dir( | |
180 "lib", | |
181 [ | |
182 d.file("myapp.dart", ""), | |
183 d.file("transformer.dart", transformer(["package:foo/foo.dart"
])),])]).create(); | |
184 | |
185 d.dir("foo", [d.pubspec({ | |
186 "name": "foo", | |
187 "version": "1.0.0", | |
188 "dependencies": { | |
189 "bar": { | |
190 "path": "../bar" | |
191 } | |
192 } | |
193 }), | |
194 d.dir("lib", [d.file("foo.dart", "import 'package:bar/bar.dart';")])])
.create(); | |
195 | |
196 d.dir("bar", [d.pubspec({ | |
197 "name": "bar", | |
198 "version": "1.0.0", | |
199 "transformers": [{ | |
200 "bar": { | |
201 "\$include": "lib/bar.dart" | |
202 } | |
203 }] | |
204 }), | |
205 d.dir( | |
206 "lib", | |
207 [d.file("bar.dart", ""), d.file("transformer.dart", transformer())
])]).create(); | |
208 | |
209 expectDependencies({ | |
210 'myapp': ['bar'], | |
211 'bar': [] | |
212 }); | |
213 }); | |
214 | |
215 integration( | |
216 "reports a dependency if an imported file is transformed by a " | |
217 "different package", | |
218 () { | |
219 d.dir(appPath, [d.pubspec({ | |
220 "name": "myapp", | |
221 "dependencies": { | |
222 "foo": { | |
223 "path": "../foo" | |
224 } | |
225 }, | |
226 "transformers": [{ | |
227 "foo": { | |
228 '\$include': 'lib/local.dart' | |
229 } | |
230 }, "myapp"] | |
231 }), | |
232 d.dir( | |
233 "lib", | |
234 [ | |
235 d.file("myapp.dart", ""), | |
236 d.file("transformer.dart", transformer(["local.dart"])), | |
237 d.file("local.dart", "")])]).create(); | |
238 | |
239 d.dir("foo", [d.pubspec({ | |
240 "name": "foo", | |
241 "version": "1.0.0" | |
242 }), d.dir("lib", [d.file("transformer.dart", transformer())])]).create(); | |
243 | |
244 expectDependencies({ | |
245 'myapp': ['foo'], | |
246 'foo': [] | |
247 }); | |
248 }); | |
249 } | |
OLD | NEW |