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

Unified Diff: mojo/dart/unittests/embedder_tests/control_messages_test.dart

Issue 2006093002: Dart: Futures -> Callbacks. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Merge Created 4 years, 6 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/unittests/embedder_tests/control_messages_test.dart
diff --git a/mojo/dart/unittests/embedder_tests/control_messages_test.dart b/mojo/dart/unittests/embedder_tests/control_messages_test.dart
index 08eb8ac0a5a2aa602edd68e7e281c9fc03a07632..5418403e0e38874ae6b9605bd0953f5bb9f46602 100644
--- a/mojo/dart/unittests/embedder_tests/control_messages_test.dart
+++ b/mojo/dart/unittests/embedder_tests/control_messages_test.dart
@@ -19,8 +19,9 @@ class IntegerAccessorImpl implements sample.IntegerAccessor {
// Some initial value.
int _value = 0;
- dynamic getInteger([Function responseFactory = null]) =>
- responseFactory(_value, sample.Enum.value);
+ void getInteger(Function response) {
+ response(_value, sample.Enum.value);
+ }
void setInteger(int data, sample.Enum type) {
Expect.equals(sample.Enum.value, type);
@@ -39,11 +40,11 @@ List buildConnectedProxyAndStub() {
return [proxy, stub];
}
-void closeProxyAndStub(List ps) {
+closeProxyAndStub(List ps) async {
var proxy = ps[0];
var stub = ps[1];
- proxy.close();
- stub.close();
+ await proxy.close();
+ await stub.close();
}
testQueryVersion() async {
@@ -56,7 +57,7 @@ testQueryVersion() async {
Expect.equals(maxVersion, providedVersion);
// The proxy's version has been updated.
Expect.equals(providedVersion, proxy.ctrl.version);
- closeProxyAndStub(ps);
+ await closeProxyAndStub(ps);
}
testRequireVersionSuccess() async {
@@ -65,10 +66,15 @@ testRequireVersionSuccess() async {
Expect.equals(0, proxy.ctrl.version);
// Require version maxVersion.
proxy.ctrl.requireVersion(maxVersion);
+ Expect.equals(maxVersion, proxy.ctrl.version);
// Make a request and get a response.
- var response = await proxy.getInteger();
- Expect.equals(0, response.data);
- closeProxyAndStub(ps);
+ var c = new Completer();
+ proxy.getInteger((int response, sample.Enum type) {
+ c.complete(response);
+ });
+ var response = await proxy.responseOrError(c.future);
+ Expect.equals(0, response);
+ await closeProxyAndStub(ps);
}
testRequireVersionDisconnect() async {
@@ -81,22 +87,30 @@ testRequireVersionDisconnect() async {
// Set integer.
proxy.setInteger(34, sample.Enum.value);
// Get integer.
- var response = await proxy.getInteger();
- Expect.equals(34, response.data);
+ var c = new Completer();
+ proxy.getInteger((int response, sample.Enum type) {
+ c.complete(response);
+ });
+ var response = await proxy.responseOrError(c.future);
+ Expect.equals(34, response);
// Require version maxVersion + 1
proxy.ctrl.requireVersion(maxVersion + 1);
// Version number is updated synchronously.
Expect.equals(maxVersion + 1, proxy.ctrl.version);
// Get integer, expect a failure.
bool exceptionCaught = false;
+ c = new Completer();
+ proxy.getInteger((int response, sample.Enum type) {
+ Expect.fail('Should ahve an exception.');
+ });
try {
- response = await proxy.getInteger();
+ response = await proxy.responseOrError(c.future);
Expect.fail('Should have an exception.');
} catch(e) {
exceptionCaught = true;
}
Expect.isTrue(exceptionCaught);
- closeProxyAndStub(ps);
+ await closeProxyAndStub(ps);
}
main() async {

Powered by Google App Engine
This is Rietveld 408576698