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

Unified Diff: mojo/dart/test/bindings_generation_test.dart

Issue 996923003: Dart: Better handle leak checks. close() is async. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698