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

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: 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"]);
Bob Nystrom 2014/03/07 21:54:11 Might be cool to expect that foo.a and foo.x are a
nweiz 2014/03/11 21:44:05 Done.
205 // ]}); 205 expectAsset("app|foo.c", "foo.b.c");
206 // updateSources(["app|foo.a", "app|foo.x"]); 206 expectAsset("app|foo.z", "foo.b.z");
207 // expectAsset("app|foo.c", "foo.b.c"); 207 buildShouldSucceed();
208 // expectAsset("app|foo.z", "foo.b.z"); 208 });
209 // buildShouldSucceed();
210 // });
211 }); 209 });
212 210
213 group("pass-through", () { 211 group("pass-through", () {
214 test("passes an unused input through a group", () { 212 test("passes an unused input through a group", () {
215 initGraph(["app|foo.x"], {"app": [ 213 initGraph(["app|foo.x"], {"app": [
216 [new TransformerGroup([ 214 [new TransformerGroup([
217 [new RewriteTransformer("a", "b")], 215 [new RewriteTransformer("a", "b")],
218 [new RewriteTransformer("b", "c")] 216 [new RewriteTransformer("b", "c")]
219 ])] 217 ])]
220 ]}); 218 ]});
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 [new RewriteTransformer("b", "c")] 290 [new RewriteTransformer("b", "c")]
293 ]), 291 ]),
294 new RewriteTransformer("x", "x") 292 new RewriteTransformer("x", "x")
295 ]]}); 293 ]]});
296 updateSources(["app|foo.x"]); 294 updateSources(["app|foo.x"]);
297 expectNoAsset("app|foo.c"); 295 expectNoAsset("app|foo.c");
298 expectAsset("app|foo.x", "foo.x"); 296 expectAsset("app|foo.x", "foo.x");
299 buildShouldSucceed(); 297 buildShouldSucceed();
300 }); 298 });
301 299
300 test("doesn't pass through an input that's consumed by a group but not "
301 "by transformers", () {
302 initGraph(["app|foo.a"], {"app": [[
303 new TransformerGroup([
304 [new RewriteTransformer("a", "b")..consumePrimary = true],
305 ]),
306 new RewriteTransformer("x", "y")
307 ]]});
308 updateSources(["app|foo.a"]);
309 expectNoAsset("app|foo.a");
310 expectAsset("app|foo.b", "foo.b");
311 buildShouldSucceed();
312 });
313
314 test("doesn't pass through an input that's consumed by transformers but "
315 "not by a group", () {
316 initGraph(["app|foo.x"], {"app": [[
317 new TransformerGroup([
318 [new RewriteTransformer("a", "b")],
319 [new RewriteTransformer("b", "c")]
320 ]),
321 new RewriteTransformer("x", "y")..consumePrimary = true
322 ]]});
323 updateSources(["app|foo.x"]);
324 expectNoAsset("app|foo.x");
325 expectAsset("app|foo.y", "foo.y");
326 buildShouldSucceed();
327 });
328
302 test("doesn't detect a collision for an input that's modified in-place by " 329 test("doesn't detect a collision for an input that's modified in-place by "
303 "a transformer", () { 330 "a transformer", () {
304 initGraph(["app|foo.x"], {"app": [[ 331 initGraph(["app|foo.x"], {"app": [[
305 new TransformerGroup([ 332 new TransformerGroup([
306 [new RewriteTransformer("a", "b")], 333 [new RewriteTransformer("a", "b")],
307 [new RewriteTransformer("b", "c")] 334 [new RewriteTransformer("b", "c")]
308 ]), 335 ]),
309 new RewriteTransformer("x", "x") 336 new RewriteTransformer("x", "x")
310 ]]}); 337 ]]});
311 updateSources(["app|foo.x"]); 338 updateSources(["app|foo.x"]);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 new TransformerGroup([ 441 new TransformerGroup([
415 [new RewriteTransformer("a", "b")], 442 [new RewriteTransformer("a", "b")],
416 [new RewriteTransformer("b", "c")] 443 [new RewriteTransformer("b", "c")]
417 ]), 444 ]),
418 new RewriteTransformer("x", "c") 445 new RewriteTransformer("x", "c")
419 ]]}); 446 ]]});
420 updateSources(["app|foo.a", "app|foo.x"]); 447 updateSources(["app|foo.a", "app|foo.x"]);
421 buildShouldFail([isAssetCollisionException("app|foo.c")]); 448 buildShouldFail([isAssetCollisionException("app|foo.c")]);
422 }); 449 });
423 } 450 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698