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

Side by Side Diff: test/get/cache_transformed_dependency_test.dart

Issue 1523323004: Install barback from a hosted source in all tests. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Merge for real. Created 5 years 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 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 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 'package:scheduled_test/scheduled_test.dart'; 7 import 'package:scheduled_test/scheduled_test.dart';
8 8
9 import '../descriptor.dart' as d; 9 import '../descriptor.dart' as d;
10 import '../test_pub.dart'; 10 import '../test_pub.dart';
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 "lib/foo.dart: \${results.first}, " 52 "lib/foo.dart: \${results.first}, "
53 "lib/does/not/exist.dart: \${results.last}")); 53 "lib/does/not/exist.dart: \${results.last}"));
54 }); 54 });
55 } 55 }
56 } 56 }
57 """; 57 """;
58 58
59 main() { 59 main() {
60 integration("caches a transformed dependency", () { 60 integration("caches a transformed dependency", () {
61 servePackages((builder) { 61 servePackages((builder) {
62 builder.serveRepoPackage('barback'); 62 builder.serveRealPackage('barback');
63 63
64 builder.serve("foo", "1.2.3", 64 builder.serve("foo", "1.2.3",
65 deps: {'barback': 'any'}, 65 deps: {'barback': 'any'},
66 pubspec: {'transformers': ['foo']}, 66 pubspec: {'transformers': ['foo']},
67 contents: [ 67 contents: [
68 d.dir("lib", [ 68 d.dir("lib", [
69 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")), 69 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
70 d.file("foo.dart", "final message = 'Hello!';") 70 d.file("foo.dart", "final message = 'Hello!';")
71 ]) 71 ])
72 ]); 72 ]);
73 }); 73 });
74 74
75 d.appDir({"foo": "1.2.3"}).create(); 75 d.appDir({"foo": "1.2.3"}).create();
76 76
77 pubGet(output: contains("Precompiled foo.")); 77 pubGet(output: contains("Precompiled foo."));
78 78
79 d.dir(appPath, [ 79 d.dir(appPath, [
80 d.dir(".pub/deps/debug/foo/lib", [ 80 d.dir(".pub/deps/debug/foo/lib", [
81 d.file("foo.dart", "final message = 'Goodbye!';") 81 d.file("foo.dart", "final message = 'Goodbye!';")
82 ]) 82 ])
83 ]).validate(); 83 ]).validate();
84 }); 84 });
85 85
86 integration("caches a dependency transformed by its dependency", () { 86 integration("caches a dependency transformed by its dependency", () {
87 servePackages((builder) { 87 servePackages((builder) {
88 builder.serveRepoPackage('barback'); 88 builder.serveRealPackage('barback');
89 89
90 builder.serve("foo", "1.2.3", 90 builder.serve("foo", "1.2.3",
91 deps: {'bar': '1.2.3'}, 91 deps: {'bar': '1.2.3'},
92 pubspec: {'transformers': ['bar']}, 92 pubspec: {'transformers': ['bar']},
93 contents: [ 93 contents: [
94 d.dir("lib", [ 94 d.dir("lib", [
95 d.file("foo.dart", "final message = 'Hello!';") 95 d.file("foo.dart", "final message = 'Hello!';")
96 ]) 96 ])
97 ]); 97 ]);
98 98
(...skipping 12 matching lines...) Expand all
111 111
112 d.dir(appPath, [ 112 d.dir(appPath, [
113 d.dir(".pub/deps/debug/foo/lib", [ 113 d.dir(".pub/deps/debug/foo/lib", [
114 d.file("foo.dart", "final message = 'Goodbye!';") 114 d.file("foo.dart", "final message = 'Goodbye!';")
115 ]) 115 ])
116 ]).validate(); 116 ]).validate();
117 }); 117 });
118 118
119 integration("doesn't cache an untransformed dependency", () { 119 integration("doesn't cache an untransformed dependency", () {
120 servePackages((builder) { 120 servePackages((builder) {
121 builder.serveRepoPackage('barback'); 121 builder.serveRealPackage('barback');
122 122
123 builder.serve("foo", "1.2.3", 123 builder.serve("foo", "1.2.3",
124 contents: [ 124 contents: [
125 d.dir("lib", [ 125 d.dir("lib", [
126 d.file("foo.dart", "final message = 'Hello!';") 126 d.file("foo.dart", "final message = 'Hello!';")
127 ]) 127 ])
128 ]); 128 ]);
129 }); 129 });
130 130
131 d.appDir({"foo": "1.2.3"}).create(); 131 d.appDir({"foo": "1.2.3"}).create();
132 132
133 pubGet(output: isNot(contains("Precompiled foo."))); 133 pubGet(output: isNot(contains("Precompiled foo.")));
134 134
135 d.dir(appPath, [d.nothing(".pub/deps")]).validate(); 135 d.dir(appPath, [d.nothing(".pub/deps")]).validate();
136 }); 136 });
137 137
138 integration("recaches when the dependency is updated", () { 138 integration("recaches when the dependency is updated", () {
139 servePackages((builder) { 139 servePackages((builder) {
140 builder.serveRepoPackage('barback'); 140 builder.serveRealPackage('barback');
141 141
142 builder.serve("foo", "1.2.3", 142 builder.serve("foo", "1.2.3",
143 deps: {'barback': 'any'}, 143 deps: {'barback': 'any'},
144 pubspec: {'transformers': ['foo']}, 144 pubspec: {'transformers': ['foo']},
145 contents: [ 145 contents: [
146 d.dir("lib", [ 146 d.dir("lib", [
147 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")), 147 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
148 d.file("foo.dart", "final message = 'Hello!';") 148 d.file("foo.dart", "final message = 'Hello!';")
149 ]) 149 ])
150 ]); 150 ]);
(...skipping 26 matching lines...) Expand all
177 177
178 d.dir(appPath, [ 178 d.dir(appPath, [
179 d.dir(".pub/deps/debug/foo/lib", [ 179 d.dir(".pub/deps/debug/foo/lib", [
180 d.file("foo.dart", "final message = 'See ya!';") 180 d.file("foo.dart", "final message = 'See ya!';")
181 ]) 181 ])
182 ]).validate(); 182 ]).validate();
183 }); 183 });
184 184
185 integration("recaches when a transitive dependency is updated", () { 185 integration("recaches when a transitive dependency is updated", () {
186 servePackages((builder) { 186 servePackages((builder) {
187 builder.serveRepoPackage('barback'); 187 builder.serveRealPackage('barback');
188 188
189 builder.serve("foo", "1.2.3", 189 builder.serve("foo", "1.2.3",
190 deps: { 190 deps: {
191 'barback': 'any', 191 'barback': 'any',
192 'bar': 'any' 192 'bar': 'any'
193 }, 193 },
194 pubspec: {'transformers': ['foo']}, 194 pubspec: {'transformers': ['foo']},
195 contents: [ 195 contents: [
196 d.dir("lib", [ 196 d.dir("lib", [
197 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")), 197 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
198 d.file("foo.dart", "final message = 'Hello!';") 198 d.file("foo.dart", "final message = 'Hello!';")
199 ]) 199 ])
200 ]); 200 ]);
201 201
202 builder.serve("bar", "5.6.7"); 202 builder.serve("bar", "5.6.7");
203 }); 203 });
204 204
205 d.appDir({"foo": "1.2.3"}).create(); 205 d.appDir({"foo": "1.2.3"}).create();
206 pubGet(output: contains("Precompiled foo.")); 206 pubGet(output: contains("Precompiled foo."));
207 207
208 servePackages((builder) => builder.serve("bar", "6.0.0")); 208 servePackages((builder) => builder.serve("bar", "6.0.0"));
209 pubUpgrade(output: contains("Precompiled foo.")); 209 pubUpgrade(output: contains("Precompiled foo."));
210 }); 210 });
211 211
212 integration("doesn't recache when an unrelated dependency is updated", () { 212 integration("doesn't recache when an unrelated dependency is updated", () {
213 servePackages((builder) { 213 servePackages((builder) {
214 builder.serveRepoPackage('barback'); 214 builder.serveRealPackage('barback');
215 215
216 builder.serve("foo", "1.2.3", 216 builder.serve("foo", "1.2.3",
217 deps: {'barback': 'any'}, 217 deps: {'barback': 'any'},
218 pubspec: {'transformers': ['foo']}, 218 pubspec: {'transformers': ['foo']},
219 contents: [ 219 contents: [
220 d.dir("lib", [ 220 d.dir("lib", [
221 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")), 221 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
222 d.file("foo.dart", "final message = 'Hello!';") 222 d.file("foo.dart", "final message = 'Hello!';")
223 ]) 223 ])
224 ]); 224 ]);
225 225
226 builder.serve("bar", "5.6.7"); 226 builder.serve("bar", "5.6.7");
227 }); 227 });
228 228
229 d.appDir({"foo": "1.2.3"}).create(); 229 d.appDir({"foo": "1.2.3"}).create();
230 pubGet(output: contains("Precompiled foo.")); 230 pubGet(output: contains("Precompiled foo."));
231 231
232 servePackages((builder) => builder.serve("bar", "6.0.0")); 232 servePackages((builder) => builder.serve("bar", "6.0.0"));
233 pubUpgrade(output: isNot(contains("Precompiled foo."))); 233 pubUpgrade(output: isNot(contains("Precompiled foo.")));
234 }); 234 });
235 235
236 integration("caches the dependency in debug mode", () { 236 integration("caches the dependency in debug mode", () {
237 servePackages((builder) { 237 servePackages((builder) {
238 builder.serveRepoPackage('barback'); 238 builder.serveRealPackage('barback');
239 239
240 builder.serve("foo", "1.2.3", 240 builder.serve("foo", "1.2.3",
241 deps: {'barback': 'any'}, 241 deps: {'barback': 'any'},
242 pubspec: {'transformers': ['foo']}, 242 pubspec: {'transformers': ['foo']},
243 contents: [ 243 contents: [
244 d.dir("lib", [ 244 d.dir("lib", [
245 d.file("transformer.dart", MODE_TRANSFORMER), 245 d.file("transformer.dart", MODE_TRANSFORMER),
246 d.file("foo.dart", "final mode = 'MODE';") 246 d.file("foo.dart", "final mode = 'MODE';")
247 ]) 247 ])
248 ]); 248 ]);
249 }); 249 });
250 250
251 d.appDir({"foo": "1.2.3"}).create(); 251 d.appDir({"foo": "1.2.3"}).create();
252 252
253 pubGet(output: contains("Precompiled foo.")); 253 pubGet(output: contains("Precompiled foo."));
254 254
255 d.dir(appPath, [ 255 d.dir(appPath, [
256 d.dir(".pub/deps/debug/foo/lib", [ 256 d.dir(".pub/deps/debug/foo/lib", [
257 d.file("foo.dart", "final mode = 'debug';") 257 d.file("foo.dart", "final mode = 'debug';")
258 ]) 258 ])
259 ]).validate(); 259 ]).validate();
260 }); 260 });
261 261
262 integration("loads code from the cache", () { 262 integration("loads code from the cache", () {
263 servePackages((builder) { 263 servePackages((builder) {
264 builder.serveRepoPackage('barback'); 264 builder.serveRealPackage('barback');
265 265
266 builder.serve("foo", "1.2.3", 266 builder.serve("foo", "1.2.3",
267 deps: {'barback': 'any'}, 267 deps: {'barback': 'any'},
268 pubspec: {'transformers': ['foo']}, 268 pubspec: {'transformers': ['foo']},
269 contents: [ 269 contents: [
270 d.dir("lib", [ 270 d.dir("lib", [
271 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")), 271 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
272 d.file("foo.dart", "final message = 'Hello!';") 272 d.file("foo.dart", "final message = 'Hello!';")
273 ]) 273 ])
274 ]); 274 ]);
(...skipping 17 matching lines...) Expand all
292 ]) 292 ])
293 ]).create(); 293 ]).create();
294 294
295 var pub = pubRun(args: ["bin/script"]); 295 var pub = pubRun(args: ["bin/script"]);
296 pub.stdout.expect("Modified!"); 296 pub.stdout.expect("Modified!");
297 pub.shouldExit(); 297 pub.shouldExit();
298 }); 298 });
299 299
300 integration("doesn't re-transform code loaded from the cache", () { 300 integration("doesn't re-transform code loaded from the cache", () {
301 servePackages((builder) { 301 servePackages((builder) {
302 builder.serveRepoPackage('barback'); 302 builder.serveRealPackage('barback');
303 303
304 builder.serve("foo", "1.2.3", 304 builder.serve("foo", "1.2.3",
305 deps: {'barback': 'any'}, 305 deps: {'barback': 'any'},
306 pubspec: {'transformers': ['foo']}, 306 pubspec: {'transformers': ['foo']},
307 contents: [ 307 contents: [
308 d.dir("lib", [ 308 d.dir("lib", [
309 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")), 309 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
310 d.file("foo.dart", "final message = 'Hello!';") 310 d.file("foo.dart", "final message = 'Hello!';")
311 ]) 311 ])
312 ]); 312 ]);
(...skipping 20 matching lines...) Expand all
333 ]).create(); 333 ]).create();
334 334
335 var pub = pubRun(args: ["bin/script"]); 335 var pub = pubRun(args: ["bin/script"]);
336 pub.stdout.expect("Hello!"); 336 pub.stdout.expect("Hello!");
337 pub.shouldExit(); 337 pub.shouldExit();
338 }); 338 });
339 339
340 // Regression test for issue 21087. 340 // Regression test for issue 21087.
341 integration("hasInput works for static packages", () { 341 integration("hasInput works for static packages", () {
342 servePackages((builder) { 342 servePackages((builder) {
343 builder.serveRepoPackage('barback'); 343 builder.serveRealPackage('barback');
344 344
345 builder.serve("foo", "1.2.3", 345 builder.serve("foo", "1.2.3",
346 deps: {'barback': 'any'}, 346 deps: {'barback': 'any'},
347 pubspec: {'transformers': ['foo']}, 347 pubspec: {'transformers': ['foo']},
348 contents: [ 348 contents: [
349 d.dir("lib", [ 349 d.dir("lib", [
350 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")), 350 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
351 d.file("foo.dart", "void main() => print('Hello!');") 351 d.file("foo.dart", "void main() => print('Hello!');")
352 ]) 352 ])
353 ]); 353 ]);
(...skipping 18 matching lines...) Expand all
372 pubServe(); 372 pubServe();
373 requestShouldSucceed("foo.txt", 373 requestShouldSucceed("foo.txt",
374 "lib/foo.dart: true, lib/does/not/exist.dart: false"); 374 "lib/foo.dart: true, lib/does/not/exist.dart: false");
375 endPubServe(); 375 endPubServe();
376 }); 376 });
377 377
378 // Regression test for issue 21810. 378 // Regression test for issue 21810.
379 integration("decaches when the dependency is updated to something " 379 integration("decaches when the dependency is updated to something "
380 "untransformed", () { 380 "untransformed", () {
381 servePackages((builder) { 381 servePackages((builder) {
382 builder.serveRepoPackage('barback'); 382 builder.serveRealPackage('barback');
383 383
384 builder.serve("foo", "1.2.3", 384 builder.serve("foo", "1.2.3",
385 deps: {'barback': 'any'}, 385 deps: {'barback': 'any'},
386 pubspec: {'transformers': ['foo']}, 386 pubspec: {'transformers': ['foo']},
387 contents: [ 387 contents: [
388 d.dir("lib", [ 388 d.dir("lib", [
389 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")), 389 d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
390 d.file("foo.dart", "final message = 'Hello!';") 390 d.file("foo.dart", "final message = 'Hello!';")
391 ]) 391 ])
392 ]); 392 ]);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 Future apply(Transform transform) { 435 Future apply(Transform transform) {
436 return transform.primaryInput.readAsString().then((contents) { 436 return transform.primaryInput.readAsString().then((contents) {
437 transform.addOutput(new Asset.fromString( 437 transform.addOutput(new Asset.fromString(
438 transform.primaryInput.id, 438 transform.primaryInput.id,
439 contents.replaceAll("$input", "$output"))); 439 contents.replaceAll("$input", "$output")));
440 }); 440 });
441 } 441 }
442 } 442 }
443 """; 443 """;
444 } 444 }
OLDNEW
« no previous file with comments | « test/dart2js/output_can_be_consumed_by_successive_phases.dart ('k') | test/global/run/mode_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698