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

Side by Side Diff: pkg/barback/test/package_graph/group_test.dart

Issue 191223004: Add BaseTransform.consumePrimary to barback. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: code review Created 6 years, 9 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
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 barback.test.package_graph.group_test; 5 library barback.test.package_graph.group_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:barback/barback.dart'; 9 import 'package:barback/barback.dart';
10 import 'package:scheduled_test/scheduled_test.dart'; 10 import 'package:scheduled_test/scheduled_test.dart';
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 ])] 184 ])]
185 ]}); 185 ]});
186 updateSources(["app|foo.a", "app|bar.x"]); 186 updateSources(["app|foo.a", "app|bar.x"]);
187 expectAsset("app|foo.c", "foo.b.c"); 187 expectAsset("app|foo.c", "foo.b.c");
188 expectAsset("app|bar.z", "bar.b.z"); 188 expectAsset("app|bar.z", "bar.b.z");
189 expectNoAsset("app|foo.z"); 189 expectNoAsset("app|foo.z");
190 expectNoAsset("app|bar.c"); 190 expectNoAsset("app|bar.c");
191 buildShouldSucceed(); 191 buildShouldSucceed();
192 }); 192 });
193 193
194 // TODO(nweiz): re-enable this test when a transformer can consume its 194 test("parallel groups' intermediate assets can't collide", () {
195 // primary input (issue 16612). 195 initGraph(["app|foo.a", "app|foo.x"], {"app": [
196 // test("parallel groups' intermediate assets can't collide", () { 196 [new TransformerGroup([
197 // initGraph(["app|foo.a", "app|foo.x"], {"app": [ 197 [new RewriteTransformer("a", "b")],
198 // [new TransformerGroup([ 198 [new RewriteTransformer("b", "c")..consumePrimary = true]
199 // [new RewriteTransformer("a", "b")], 199 ]), new TransformerGroup([
200 // [new RewriteTransformer("b", "c")] 200 [new RewriteTransformer("x", "b")],
201 // ]), new TransformerGroup([ 201 [new RewriteTransformer("b", "z")..consumePrimary = true]
202 // [new RewriteTransformer("x", "b")], 202 ])]
203 // [new RewriteTransformer("b", "z")] 203 ]});
204 // ])] 204 updateSources(["app|foo.a", "app|foo.x"]);
205 // ]}); 205 expectAsset("app|foo.a");
206 // updateSources(["app|foo.a", "app|foo.x"]); 206 expectAsset("app|foo.x");
207 // expectAsset("app|foo.c", "foo.b.c"); 207 expectAsset("app|foo.c", "foo.b.c");
208 // expectAsset("app|foo.z", "foo.b.z"); 208 expectAsset("app|foo.z", "foo.b.z");
209 // buildShouldSucceed(); 209 buildShouldSucceed();
210 // }); 210 });
211 }); 211 });
212 212
213 group("pass-through", () { 213 group("pass-through", () {
214 test("passes an unused input through a group", () { 214 test("passes an unused input through a group", () {
215 initGraph(["app|foo.x"], {"app": [ 215 initGraph(["app|foo.x"], {"app": [
216 [new TransformerGroup([ 216 [new TransformerGroup([
217 [new RewriteTransformer("a", "b")], 217 [new RewriteTransformer("a", "b")],
218 [new RewriteTransformer("b", "c")] 218 [new RewriteTransformer("b", "c")]
219 ])] 219 ])]
220 ]}); 220 ]});
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 [new RewriteTransformer("b", "c")] 292 [new RewriteTransformer("b", "c")]
293 ]), 293 ]),
294 new RewriteTransformer("x", "x") 294 new RewriteTransformer("x", "x")
295 ]]}); 295 ]]});
296 updateSources(["app|foo.x"]); 296 updateSources(["app|foo.x"]);
297 expectNoAsset("app|foo.c"); 297 expectNoAsset("app|foo.c");
298 expectAsset("app|foo.x", "foo.x"); 298 expectAsset("app|foo.x", "foo.x");
299 buildShouldSucceed(); 299 buildShouldSucceed();
300 }); 300 });
301 301
302 test("doesn't pass through an input that's consumed by a group but not "
303 "by transformers", () {
304 initGraph(["app|foo.a"], {"app": [[
305 new TransformerGroup([
306 [new RewriteTransformer("a", "b")..consumePrimary = true],
307 ]),
308 new RewriteTransformer("x", "y")
309 ]]});
310 updateSources(["app|foo.a"]);
311 expectNoAsset("app|foo.a");
312 expectAsset("app|foo.b", "foo.b");
313 buildShouldSucceed();
314 });
315
316 test("doesn't pass through an input that's consumed by transformers but "
317 "not by a group", () {
318 initGraph(["app|foo.x"], {"app": [[
319 new TransformerGroup([
320 [new RewriteTransformer("a", "b")],
321 [new RewriteTransformer("b", "c")]
322 ]),
323 new RewriteTransformer("x", "y")..consumePrimary = true
324 ]]});
325 updateSources(["app|foo.x"]);
326 expectNoAsset("app|foo.x");
327 expectAsset("app|foo.y", "foo.y");
328 buildShouldSucceed();
329 });
330
302 test("doesn't detect a collision for an input that's modified in-place by " 331 test("doesn't detect a collision for an input that's modified in-place by "
303 "a transformer", () { 332 "a transformer", () {
304 initGraph(["app|foo.x"], {"app": [[ 333 initGraph(["app|foo.x"], {"app": [[
305 new TransformerGroup([ 334 new TransformerGroup([
306 [new RewriteTransformer("a", "b")], 335 [new RewriteTransformer("a", "b")],
307 [new RewriteTransformer("b", "c")] 336 [new RewriteTransformer("b", "c")]
308 ]), 337 ]),
309 new RewriteTransformer("x", "x") 338 new RewriteTransformer("x", "x")
310 ]]}); 339 ]]});
311 updateSources(["app|foo.x"]); 340 updateSources(["app|foo.x"]);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 new TransformerGroup([ 443 new TransformerGroup([
415 [new RewriteTransformer("a", "b")], 444 [new RewriteTransformer("a", "b")],
416 [new RewriteTransformer("b", "c")] 445 [new RewriteTransformer("b", "c")]
417 ]), 446 ]),
418 new RewriteTransformer("x", "c") 447 new RewriteTransformer("x", "c")
419 ]]}); 448 ]]});
420 updateSources(["app|foo.a", "app|foo.x"]); 449 updateSources(["app|foo.a", "app|foo.x"]);
421 buildShouldFail([isAssetCollisionException("app|foo.c")]); 450 buildShouldFail([isAssetCollisionException("app|foo.c")]);
422 }); 451 });
423 } 452 }
OLDNEW
« no previous file with comments | « pkg/barback/lib/src/transform_node.dart ('k') | pkg/barback/test/package_graph/transform/consume_input_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698