| 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"]); |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |