Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |