| Index: lib/src/runner/load_suite.dart
|
| diff --git a/lib/src/runner/load_suite.dart b/lib/src/runner/load_suite.dart
|
| index 08cbda308964aeb477ac0eef4f55dcdd84a5fc67..97a2ba40bd45a5c1d89ac00e371399708c835d7d 100644
|
| --- a/lib/src/runner/load_suite.dart
|
| +++ b/lib/src/runner/load_suite.dart
|
| @@ -65,7 +65,7 @@ class LoadSuite extends Suite implements RunnerSuite {
|
| /// If the the load test is closed before [body] is complete, it will close
|
| /// the suite returned by [body] once it completes.
|
| factory LoadSuite(String name, body(), {String path, TestPlatform platform}) {
|
| - var completer = new Completer.sync();
|
| + var completer = new Completer<Pair<RunnerSuite, Zone>>.sync();
|
| return new LoadSuite._(name, () {
|
| var invoker = Invoker.current;
|
| invoker.addOutstandingCallback();
|
| @@ -129,6 +129,11 @@ class LoadSuite extends Suite implements RunnerSuite {
|
| LoadSuite._changeSuite(LoadSuite old, this._suiteAndZone)
|
| : super(old.group, path: old.path, platform: old.platform);
|
|
|
| + /// A constructor used by [filter].
|
| + LoadSuite._filtered(LoadSuite old, Group filtered)
|
| + : _suiteAndZone = old._suiteAndZone,
|
| + super(old.group, path: old.path, platform: old.platform);
|
| +
|
| /// Creates a new [LoadSuite] that's identical to this one, but that
|
| /// transforms [suite] once it's loaded.
|
| ///
|
| @@ -161,5 +166,11 @@ class LoadSuite extends Suite implements RunnerSuite {
|
| throw 'unreachable';
|
| }
|
|
|
| + LoadSuite filter(bool callback(Test test)) {
|
| + var filtered = this.group.filter(callback);
|
| + if (filtered == null) filtered = new Group.root([], metadata: metadata);
|
| + return new LoadSuite._filtered(this, filtered);
|
| + }
|
| +
|
| Future close() async {}
|
| }
|
|
|