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

Side by Side Diff: third_party/pkg/barback-0.13.0/test/package_graph/transform/concurrency_test.dart

Issue 291843011: Run pub tests against older versions of barback. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: code review Created 6 years, 7 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) 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 /// This library contains tests for transformer behavior that relates to actions 5 /// This library contains tests for transformer behavior that relates to actions
6 /// happening concurrently or other complex asynchronous timing behavior. 6 /// happening concurrently or other complex asynchronous timing behavior.
7 library barback.test.package_graph.transform.concurrency_test; 7 library barback.test.package_graph.transform.concurrency_test;
8 8
9 import 'package:barback/src/utils.dart'; 9 import 'package:barback/src/utils.dart';
10 import 'package:scheduled_test/scheduled_test.dart'; 10 import 'package:scheduled_test/scheduled_test.dart';
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 ]}); 483 ]});
484 484
485 rewrite.pauseApply(); 485 rewrite.pauseApply();
486 updateSources(["app|foo.in", "app|bar.txt"]); 486 updateSources(["app|foo.in", "app|bar.txt"]);
487 expectAssetDoesNotComplete("app|bar.out"); 487 expectAssetDoesNotComplete("app|bar.out");
488 488
489 rewrite.resumeApply(); 489 rewrite.resumeApply();
490 expectAsset("app|bar.out", "foo.in"); 490 expectAsset("app|bar.out", "foo.in");
491 buildShouldSucceed(); 491 buildShouldSucceed();
492 }); 492 });
493
494 test("materializes a passed-through asset that was emitted before it was "
495 "available", () {
496 initGraph(["app|foo.in"], {"app": [
497 [new RewriteTransformer("txt", "txt")]
498 ]});
499
500 pauseProvider();
501 updateSources(["app|foo.in"]);
502 expectAssetDoesNotComplete("app|foo.in");
503
504 resumeProvider();
505 expectAsset("app|foo.in", "foo");
506 buildShouldSucceed();
507 });
508
509 test("re-runs if the primary input is invalidated before accessing", () {
510 var transformer1 = new RewriteTransformer("txt", "mid");
511 var transformer2 = new RewriteTransformer("mid", "out");
512
513 initGraph([
514 "app|foo.txt"
515 ], {"app": [
516 [transformer1],
517 [transformer2]
518 ]});
519
520 transformer2.pausePrimaryInput();
521 updateSources(["app|foo.txt"]);
522
523 // Wait long enough to ensure that transformer1 has completed and
524 // transformer2 has started.
525 schedule(pumpEventQueue);
526
527 // Update the source again so that transformer1 invalidates the primary
528 // input of transformer2.
529 transformer1.pauseApply();
530 modifyAsset("app|foo.txt", "new foo");
531 updateSources(["app|foo.txt"]);
532
533 transformer2.resumePrimaryInput();
534 transformer1.resumeApply();
535
536 expectAsset("app|foo.out", "new foo.mid.out");
537 buildShouldSucceed();
538
539 expect(transformer1.numRuns, completion(equals(2)));
540 expect(transformer2.numRuns, completion(equals(2)));
541 });
542 } 493 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698