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

Unified Diff: mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.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/apptests/dart_apptests/lib/src/versioning_apptests.dart
diff --git a/mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.dart b/mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.dart
index 4aba34b25c59df945268bfc27e56a5bef90408e9..cae7fb8dbad34d09fee11097d1b6048a87eae358 100644
--- a/mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.dart
+++ b/mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.dart
@@ -24,12 +24,17 @@ tests(Application application, String url) {
// Query database and get a response back (even though the client does not
// know about the birthday field).
+ var c = new Completer();
bool retrieveFingerPrint = true;
- var response = await database.queryEmployee(1, retrieveFingerPrint);
- expect(response.employee.employeeId, equals(1));
- expect(response.employee.name, equals("Homer Simpson"));
- expect(response.employee.department, equals(Department.dev));
- expect(response.fingerPrint, isNotNull);
+ database.queryEmployee(1, retrieveFingerPrint,
+ (Employee e, List<int> fingerPrint) {
+ c.complete([e, fingerPrint]);
+ });
+ var response = await database.responseOrError(c.future);
+ expect(response[0].employeeId, equals(1));
+ expect(response[0].name, equals("Homer Simpson"));
+ expect(response[0].department, equals(Department.dev));
+ expect(response[1], isNotNull);
// Pass an Employee struct to the service side that lacks the 'birthday'
// field.
@@ -37,16 +42,25 @@ tests(Application application, String url) {
newEmployee.employeeId = 2;
newEmployee.name = "Marge Simpson";
newEmployee.department = Department.sales;
- response = await database.addEmployee(newEmployee);
- expect(response.success, isTrue);
+ c = new Completer();
+ database.addEmployee(newEmployee, (bool success) {
+ c.complete(success);
+ });
+ response = await database.responseOrError(c.future);
+ expect(response, isTrue);
// Query for employee #2.
+ c = new Completer();
retrieveFingerPrint = false;
- response = await database.queryEmployee(2, retrieveFingerPrint);
- expect(response.employee.employeeId, equals(2));
- expect(response.employee.name, equals("Marge Simpson"));
- expect(response.employee.department, equals(Department.sales));
- expect(response.fingerPrint, isNull);
+ database.queryEmployee(2, retrieveFingerPrint,
+ (Employee e, List<int> fingerPrint) {
+ c.complete([e, fingerPrint]);
+ });
+ response = await database.responseOrError(c.future);
+ expect(response[0].employeeId, equals(2));
+ expect(response[0].name, equals("Marge Simpson"));
+ expect(response[0].department, equals(Department.sales));
+ expect(response[1], isNull);
// Disconnect from database.
database.close();
@@ -75,7 +89,12 @@ tests(Application application, String url) {
// Query for employee #3.
var retrieveFingerPrint = false;
- var response = await database.queryEmployee(3, retrieveFingerPrint);
+ var c = new Completer();
+ database.queryEmployee(3, retrieveFingerPrint,
+ (Employee e, List<int> fingerPrint) {
+ c.complete([e, fingerPrint]);
+ });
+ var response = await database.responseOrError(c.future);
// Got some kind of response.
expect(response, isNotNull);
@@ -86,9 +105,13 @@ tests(Application application, String url) {
// Query for employee #1, observe that the call fails.
bool exceptionCaught = false;
+ c = new Completer();
+ database.queryEmployee(1, retrieveFingerPrint,
+ (Employee e, List<int> fingerPrint) {
+ c.complete([e, fingerPrint]);
+ });
try {
- response = await database.responseOrError(
- database.queryEmployee(1, retrieveFingerPrint));
+ response = await database.responseOrError(c.future);
fail('Exception should be thrown.');
} catch (e) {
exceptionCaught = true;
@@ -111,14 +134,22 @@ tests(Application application, String url) {
// Although the client side doesn't know whether the service side supports
// version 1, calling a version 1 method succeeds as long as the service
// side supports version 1.
- var response = await database.attachFingerPrint(1, fingerPrint);
- expect(response.success, isTrue);
+ var c = new Completer();
+ database.attachFingerPrint(1, fingerPrint, (bool success) {
+ c.complete(success);
+ });
+ var response = await database.responseOrError(c.future);
+ expect(response, isTrue);
// Calling a version 2 method (which the service side doesn't support)
// closes the pipe.
bool exceptionCaught = false;
+ c = new Completer();
+ database.listEmployeeIds((List<int> ids) {
+ c.complete(ids);
+ });
try {
- response = await database.responseOrError(database.listEmployeeIds());
+ response = await database.responseOrError(c.future);
fail('Exception should be thrown.');
} catch (e) {
exceptionCaught = true;

Powered by Google App Engine
This is Rietveld 408576698