Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(790)

Side by Side Diff: sdk/lib/_internal/pub_generated/test/transformers_needed_by_transformers/conservative_dependencies_test.dart

Issue 557563002: Store the async-await compiled pub code directly in the repo. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 library pub_tests;
2 import 'package:scheduled_test/scheduled_test.dart';
3 import '../descriptor.dart' as d;
4 import '../test_pub.dart';
5 import 'utils.dart';
6 void main() {
7 initConfig();
8 integration(
9 "reports previous transformers as dependencies if the "
10 "transformer is transformed",
11 () {
12 d.dir(appPath, [d.pubspec({
13 "name": "myapp",
14 "version": "1.0.0",
15 "dependencies": {
16 "pkg": {
17 "path": "../pkg"
18 },
19 "qux": {
20 "path": "../qux"
21 }
22 },
23 "transformers": ["pkg", "qux"]
24 })]).create();
25 d.dir("pkg", [d.pubspec({
26 "name": "pkg",
27 "version": "1.0.0",
28 "dependencies": {
29 "foo": {
30 "path": "../foo"
31 },
32 "bar": {
33 "path": "../bar"
34 },
35 "baz": {
36 "path": "../baz"
37 }
38 },
39 "transformers": [{
40 "foo": {
41 "\$include": "lib/pkg.dart"
42 }
43 }, {
44 "bar": {
45 "\$exclude": "lib/transformer.dart"
46 }
47 }, "baz"]
48 }),
49 d.dir(
50 "lib",
51 [d.file("pkg.dart", ""), d.file("transformer.dart", transformer()) ])]).create();
52 d.dir(
53 "foo",
54 [
55 d.libPubspec("foo", "1.0.0"),
56 d.dir("lib", [d.file("foo.dart", transformer())])]).create();
57 d.dir(
58 "bar",
59 [
60 d.libPubspec("bar", "1.0.0"),
61 d.dir("lib", [d.file("bar.dart", transformer())])]).create();
62 d.dir(
63 "baz",
64 [
65 d.libPubspec("baz", "1.0.0"),
66 d.dir("lib", [d.file("baz.dart", transformer())])]).create();
67 d.dir(
68 "qux",
69 [
70 d.libPubspec("qux", "1.0.0"),
71 d.dir("lib", [d.file("qux.dart", transformer())])]).create();
72 expectDependencies({
73 'pkg': ['foo', 'bar', 'baz'],
74 'foo': [],
75 'bar': [],
76 'baz': [],
77 'qux': []
78 });
79 });
80 integration(
81 "reports all transitive package dependencies' transformers as "
82 "dependencies if the transformer is transformed",
83 () {
84 d.dir(appPath, [d.pubspec({
85 "name": "myapp",
86 "dependencies": {
87 "pkg": {
88 "path": "../pkg"
89 },
90 "qux": {
91 "path": "../qux"
92 }
93 },
94 "transformers": ["pkg"]
95 })]).create();
96 d.dir("pkg", [d.pubspec({
97 "name": "pkg",
98 "version": "1.0.0",
99 "dependencies": {
100 "foo": {
101 "path": "../foo"
102 },
103 "baz": {
104 "path": "../baz"
105 }
106 },
107 "transformers": ["baz"]
108 }), d.dir("lib", [d.file("pkg.dart", transformer())])]).create();
109 d.dir("foo", [d.pubspec({
110 "name": "foo",
111 "version": "1.0.0",
112 "dependencies": {
113 "bar": {
114 "path": "../bar"
115 }
116 },
117 "transformers": ["foo"]
118 }), d.dir("lib", [d.file("foo.dart", transformer())])]).create();
119 d.dir("bar", [d.pubspec({
120 "name": "bar",
121 "version": "1.0.0",
122 "transformers": ["bar"]
123 }), d.dir("lib", [d.file("bar.dart", transformer())])]).create();
124 d.dir(
125 "baz",
126 [
127 d.libPubspec("baz", "1.0.0"),
128 d.dir("lib", [d.file("baz.dart", transformer())])]).create();
129 d.dir("qux", [d.pubspec({
130 "name": "qux",
131 "version": "1.0.0",
132 "transformers": ["qux"]
133 }), d.dir("lib", [d.file("qux.dart", transformer())])]).create();
134 expectDependencies({
135 'pkg': ['foo', 'bar', 'baz'],
136 'foo': [],
137 'bar': [],
138 'baz': [],
139 'qux': []
140 });
141 });
142 integration(
143 "reports previous transformers as dependencies if a "
144 "nonexistent local file is imported",
145 () {
146 d.dir(appPath, [d.pubspec({
147 "name": "myapp",
148 "dependencies": {
149 "pkg": {
150 "path": "../pkg"
151 },
152 "bar": {
153 "path": "../bar"
154 }
155 },
156 "transformers": ["pkg", "bar"]
157 })]).create();
158 d.dir("pkg", [d.pubspec({
159 "name": "pkg",
160 "version": "1.0.0",
161 "dependencies": {
162 "foo": {
163 "path": "../foo"
164 },
165 "bar": {
166 "path": "../bar"
167 }
168 },
169 "transformers": [{
170 "foo": {
171 "\$include": "lib/pkg.dart"
172 }
173 }]
174 }),
175 d.dir(
176 "lib",
177 [
178 d.file("pkg.dart", ""),
179 d.file("transformer.dart", transformer(["nonexistent.dart"]))] )]).create();
180 d.dir(
181 "foo",
182 [
183 d.libPubspec("foo", "1.0.0"),
184 d.dir("lib", [d.file("foo.dart", transformer())])]).create();
185 d.dir(
186 "bar",
187 [
188 d.libPubspec("bar", "1.0.0"),
189 d.dir("lib", [d.file("bar.dart", transformer())])]).create();
190 expectDependencies({
191 'pkg': ['foo'],
192 'foo': [],
193 'bar': []
194 });
195 });
196 integration(
197 "reports all that package's dependencies' transformers as "
198 "dependencies if a non-existent file is imported from another package" ,
199 () {
200 d.dir(appPath, [d.pubspec({
201 "name": "myapp",
202 "dependencies": {
203 "foo": {
204 "path": "../foo"
205 },
206 "qux": {
207 "path": "../qux"
208 }
209 },
210 "transformers": ["myapp"]
211 }),
212 d.dir(
213 "lib",
214 [
215 d.file(
216 "myapp.dart",
217 transformer(["package:foo/nonexistent.dart"]))])]).create( );
218 d.dir("foo", [d.pubspec({
219 "name": "foo",
220 "version": "1.0.0",
221 "dependencies": {
222 "bar": {
223 "path": "../bar"
224 },
225 "baz": {
226 "path": "../baz"
227 }
228 },
229 "transformers": ["foo"]
230 }), d.dir("lib", [d.file("foo.dart", transformer())])]).create();
231 d.dir("bar", [d.pubspec({
232 "name": "bar",
233 "version": "1.0.0",
234 "transformers": ["bar"]
235 }), d.dir("lib", [d.file("bar.dart", transformer())])]).create();
236 d.dir("baz", [d.pubspec({
237 "name": "baz",
238 "version": "1.0.0",
239 "transformers": ["baz"]
240 }), d.dir("lib", [d.file("baz.dart", transformer())])]).create();
241 d.dir("qux", [d.pubspec({
242 "name": "qux",
243 "version": "1.0.0",
244 "transformers": ["qux"]
245 }), d.dir("lib", [d.file("qux.dart", transformer())])]).create();
246 expectDependencies({
247 'myapp': ['foo', 'bar', 'baz'],
248 'foo': [],
249 'bar': [],
250 'baz': [],
251 'qux': []
252 });
253 });
254 integration(
255 "reports all that package's dependencies' transformers as "
256 "dependencies if a non-existent transformer is used from another packa ge",
257 () {
258 d.dir(appPath, [d.pubspec({
259 "name": "myapp",
260 "dependencies": {
261 "foo": {
262 "path": "../foo"
263 },
264 "qux": {
265 "path": "../qux"
266 }
267 },
268 "transformers": ["myapp"]
269 }),
270 d.dir(
271 "lib",
272 [
273 d.file(
274 "myapp.dart",
275 transformer(["package:foo/nonexistent.dart"]))])]).create( );
276 d.dir("foo", [d.pubspec({
277 "name": "foo",
278 "version": "1.0.0",
279 "dependencies": {
280 "bar": {
281 "path": "../bar"
282 },
283 "baz": {
284 "path": "../baz"
285 }
286 },
287 "transformers": ["bar"]
288 })]).create();
289 d.dir(
290 "bar",
291 [
292 d.libPubspec("bar", "1.0.0"),
293 d.dir("lib", [d.file("bar.dart", transformer())])]).create();
294 d.dir("baz", [d.pubspec({
295 "name": "baz",
296 "version": "1.0.0",
297 "transformers": ["baz"]
298 }), d.dir("lib", [d.file("baz.dart", transformer())])]).create();
299 d.dir("qux", [d.pubspec({
300 "name": "qux",
301 "version": "1.0.0",
302 "transformers": ["qux"]
303 }), d.dir("lib", [d.file("qux.dart", transformer())])]).create();
304 expectDependencies({
305 'myapp': ['bar', 'baz'],
306 'bar': [],
307 'baz': [],
308 'qux': []
309 });
310 });
311 test("reports dependencies on transformers in past phases", () {
312 d.dir(appPath, [d.pubspec({
313 "name": "myapp",
314 "transformers": ["myapp/first", "myapp/second", "myapp/third"]
315 }),
316 d.dir(
317 "lib",
318 [
319 d.file("first.dart", transformer()),
320 d.file("second.dart", transformer()),
321 d.file("third.dart", transformer())])]).create();
322 expectDependencies({
323 'myapp/first': [],
324 'myapp/second': ['myapp/first'],
325 'myapp/third': ['myapp/second', 'myapp/first']
326 });
327 });
328 integration(
329 "considers the entrypoint package's dev and override " "dependencies",
330 () {
331 d.dir(appPath, [d.pubspec({
332 "name": "myapp",
333 "dependencies": {
334 "foo": {
335 "path": "../foo"
336 }
337 },
338 "dev_dependencies": {
339 "bar": {
340 "path": "../bar"
341 }
342 },
343 "dependency_overrides": {
344 "baz": {
345 "path": "../baz"
346 }
347 },
348 "transformers": ["foo", "myapp"]
349 }), d.dir("lib", [d.file("myapp.dart", transformer())])]).create();
350 d.dir("foo", [d.pubspec({
351 "name": "foo",
352 "version": "1.0.0",
353 "transformers": ["foo"]
354 }), d.dir("lib", [d.file("foo.dart", transformer())])]).create();
355 d.dir("bar", [d.pubspec({
356 "name": "bar",
357 "version": "1.0.0",
358 "transformers": ["bar"]
359 }), d.dir("lib", [d.file("bar.dart", transformer())])]).create();
360 d.dir("baz", [d.pubspec({
361 "name": "baz",
362 "version": "1.0.0",
363 "transformers": ["baz"]
364 }), d.dir("lib", [d.file("baz.dart", transformer())])]).create();
365 expectDependencies({
366 'myapp': ['foo', 'bar', 'baz'],
367 'foo': [],
368 'bar': [],
369 'baz': []
370 });
371 });
372 integration(
373 "doesn't consider a non-entrypoint package's dev and override " "dependenc ies",
374 () {
375 d.dir(appPath, [d.pubspec({
376 "name": "myapp",
377 "dependencies": {
378 "pkg": {
379 "path": "../pkg"
380 }
381 }
382 })]).create();
383 d.dir("pkg", [d.pubspec({
384 "name": "pkg",
385 "dependencies": {
386 "foo": {
387 "path": "../foo"
388 }
389 },
390 "dev_dependencies": {
391 "bar": {
392 "path": "../bar"
393 }
394 },
395 "dependency_overrides": {
396 "baz": {
397 "path": "../baz"
398 }
399 },
400 "transformers": ["foo", "pkg"]
401 }), d.dir("lib", [d.file("pkg.dart", transformer())])]).create();
402 d.dir("foo", [d.pubspec({
403 "name": "foo",
404 "version": "1.0.0",
405 "transformers": ["foo"]
406 }), d.dir("lib", [d.file("foo.dart", transformer())])]).create();
407 d.dir("bar", [d.pubspec({
408 "name": "bar",
409 "version": "1.0.0",
410 "transformers": ["bar"]
411 }), d.dir("lib", [d.file("bar.dart", transformer())])]).create();
412 d.dir("baz", [d.pubspec({
413 "name": "baz",
414 "version": "1.0.0",
415 "transformers": ["baz"]
416 }), d.dir("lib", [d.file("baz.dart", transformer())])]).create();
417 expectDependencies({
418 'pkg': ['foo'],
419 'foo': [],
420 'bar': [],
421 'baz': []
422 });
423 });
424 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698