| Index: test/backend/invoker_test.dart
|
| diff --git a/test/backend/invoker_test.dart b/test/backend/invoker_test.dart
|
| index 05924569b767ba4f46078f464dbe0a6d185d4358..52ef5987c71aec69dbcb5287e7a8db4fda6b3b08 100644
|
| --- a/test/backend/invoker_test.dart
|
| +++ b/test/backend/invoker_test.dart
|
| @@ -642,6 +642,42 @@ void main() {
|
| });
|
| });
|
| });
|
| +
|
| + group("waitForOutstandingCallbacks:", () {
|
| + test("waits for the wrapped function to complete", () async {
|
| + var functionCompleted = false;
|
| + await Invoker.current.waitForOutstandingCallbacks(() async {
|
| + await pumpEventQueue();
|
| + functionCompleted = true;
|
| + });
|
| +
|
| + expect(functionCompleted, isTrue);
|
| + });
|
| +
|
| + test("waits for registered callbacks in the wrapped function to run",
|
| + () async {
|
| + var callbackRun = false;
|
| + await Invoker.current.waitForOutstandingCallbacks(() {
|
| + pumpEventQueue().then(expectAsync((_) {
|
| + callbackRun = true;
|
| + }));
|
| + });
|
| +
|
| + expect(callbackRun, isTrue);
|
| + });
|
| +
|
| + test("doesn't automatically block the enclosing context", () async {
|
| + var innerFunctionCompleted = false;
|
| + await Invoker.current.waitForOutstandingCallbacks(() {
|
| + Invoker.current.waitForOutstandingCallbacks(() async {
|
| + await pumpEventQueue();
|
| + innerFunctionCompleted = true;
|
| + });
|
| + });
|
| +
|
| + expect(innerFunctionCompleted, isFalse);
|
| + });
|
| + });
|
| }
|
|
|
| LocalTest _localTest(body(), {tearDown(), Metadata metadata}) {
|
|
|