Index: mojo/dart/test/bindings_generation_test.dart |
diff --git a/mojo/dart/test/bindings_generation_test.dart b/mojo/dart/test/bindings_generation_test.dart |
index 215b63ac34d03eedc3173eb30dbb5d45365137ac..b4af1f0fdd67845af64bf7c0d484231be40ad9fe 100644 |
--- a/mojo/dart/test/bindings_generation_test.dart |
+++ b/mojo/dart/test/bindings_generation_test.dart |
@@ -113,8 +113,25 @@ testSerializeStructs() { |
testSerializeArrayValueTypes(); |
} |
+void closingProviderIsolate(core.MojoMessagePipeEndpoint endpoint) { |
+ var provider = new ProviderImpl(endpoint); |
+ provider._stub.close(); |
+} |
+ |
+Future<bool> runOnClosedTest() { |
+ var testCompleter = new Completer(); |
+ var pipe = new core.MojoMessagePipe(); |
+ var proxy = new sample.ProviderProxy.fromEndpoint(pipe.endpoints[0]); |
+ proxy.impl.onError = () => testCompleter.complete(true); |
+ Isolate.spawn(closingProviderIsolate, pipe.endpoints[1]); |
+ return testCompleter.future.then((b) { |
+ Expect.isTrue(b); |
+ }); |
+} |
+ |
main() async { |
testSerializeStructs(); |
await testCallResponse(); |
await testAwaitCallResponse(); |
+ await runOnClosedTest(); |
} |