| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 library echo_apptests; | 5 library echo_apptests; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:apptest/apptest.dart'; | 9 import 'package:apptest/apptest.dart'; |
| 10 import 'package:mojom/dart/test/echo_service.mojom.dart'; | 10 import 'package:mojom/dart/test/echo_service.mojom.dart'; |
| 11 import 'package:mojo/application.dart'; | 11 import 'package:mojo/application.dart'; |
| 12 import 'package:mojo/bindings.dart'; | 12 import 'package:mojo/bindings.dart'; |
| 13 import 'package:mojo/core.dart'; | 13 import 'package:mojo/core.dart'; |
| 14 | 14 |
| 15 echoApptests(Application application, String url) { | 15 echoApptests(Application application, String url) { |
| 16 group('Echo Service Apptests', () { | 16 group('Echo Service Apptests', () { |
| 17 test('String', () async { | 17 test('String', () async { |
| 18 var echoProxy = new EchoServiceProxy.unbound(); | 18 var echoProxy = new EchoServiceProxy.unbound(); |
| 19 application.connectToService("mojo:mojo_dart_echo_pkg", echoProxy); | 19 application.connectToService("mojo:dart_echo", echoProxy); |
| 20 | 20 |
| 21 var v = await echoProxy.ptr.echoString("foo"); | 21 var v = await echoProxy.ptr.echoString("foo"); |
| 22 expect(v.value, equals("foo")); | 22 expect(v.value, equals("foo")); |
| 23 | 23 |
| 24 var q = await echoProxy.ptr.echoString("quit"); | 24 var q = await echoProxy.ptr.echoString("quit"); |
| 25 expect(q.value, equals("quit")); | 25 expect(q.value, equals("quit")); |
| 26 | 26 |
| 27 await echoProxy.close(); | 27 await echoProxy.close(); |
| 28 }); | 28 }); |
| 29 | 29 |
| 30 test('Empty String', () async { | 30 test('Empty String', () async { |
| 31 var echoProxy = new EchoServiceProxy.unbound(); | 31 var echoProxy = new EchoServiceProxy.unbound(); |
| 32 application.connectToService("mojo:mojo_dart_echo_pkg", echoProxy); | 32 application.connectToService("mojo:dart_echo", echoProxy); |
| 33 | 33 |
| 34 var v = await echoProxy.ptr.echoString(""); | 34 var v = await echoProxy.ptr.echoString(""); |
| 35 expect(v.value, equals("")); | 35 expect(v.value, equals("")); |
| 36 | 36 |
| 37 var q = await echoProxy.ptr.echoString("quit"); | 37 var q = await echoProxy.ptr.echoString("quit"); |
| 38 expect(q.value, equals("quit")); | 38 expect(q.value, equals("quit")); |
| 39 | 39 |
| 40 await echoProxy.close(); | 40 await echoProxy.close(); |
| 41 }); | 41 }); |
| 42 | 42 |
| 43 test('Null String', () async { | 43 test('Null String', () async { |
| 44 var echoProxy = new EchoServiceProxy.unbound(); | 44 var echoProxy = new EchoServiceProxy.unbound(); |
| 45 application.connectToService("mojo:mojo_dart_echo_pkg", echoProxy); | 45 application.connectToService("mojo:dart_echo", echoProxy); |
| 46 | 46 |
| 47 var v = await echoProxy.ptr.echoString(null); | 47 var v = await echoProxy.ptr.echoString(null); |
| 48 expect(v.value, equals(null)); | 48 expect(v.value, equals(null)); |
| 49 | 49 |
| 50 var q = await echoProxy.ptr.echoString("quit"); | 50 var q = await echoProxy.ptr.echoString("quit"); |
| 51 expect(q.value, equals("quit")); | 51 expect(q.value, equals("quit")); |
| 52 | 52 |
| 53 await echoProxy.close(); | 53 await echoProxy.close(); |
| 54 }); | 54 }); |
| 55 | 55 |
| 56 test('Delayed Success', () async { | 56 test('Delayed Success', () async { |
| 57 var echoProxy = new EchoServiceProxy.unbound(); | 57 var echoProxy = new EchoServiceProxy.unbound(); |
| 58 application.connectToService("mojo:mojo_dart_echo_pkg", echoProxy); | 58 application.connectToService("mojo:dart_echo", echoProxy); |
| 59 | 59 |
| 60 var milliseconds = 100; | 60 var milliseconds = 100; |
| 61 var watch = new Stopwatch()..start(); | 61 var watch = new Stopwatch()..start(); |
| 62 var v = await echoProxy.ptr.delayedEchoString("foo", milliseconds); | 62 var v = await echoProxy.ptr.delayedEchoString("foo", milliseconds); |
| 63 var elapsed = watch.elapsedMilliseconds; | 63 var elapsed = watch.elapsedMilliseconds; |
| 64 expect(v.value, equals("foo")); | 64 expect(v.value, equals("foo")); |
| 65 expect(elapsed, greaterThanOrEqualTo(milliseconds)); | 65 expect(elapsed, greaterThanOrEqualTo(milliseconds)); |
| 66 | 66 |
| 67 var q = await echoProxy.ptr.echoString("quit"); | 67 var q = await echoProxy.ptr.echoString("quit"); |
| 68 expect(q.value, equals("quit")); | 68 expect(q.value, equals("quit")); |
| 69 | 69 |
| 70 await echoProxy.close(); | 70 await echoProxy.close(); |
| 71 }); | 71 }); |
| 72 | 72 |
| 73 test('Delayed Close', () { | 73 test('Delayed Close', () { |
| 74 var echoProxy = new EchoServiceProxy.unbound(); | 74 var echoProxy = new EchoServiceProxy.unbound(); |
| 75 application.connectToService("mojo:mojo_dart_echo_pkg", echoProxy); | 75 application.connectToService("mojo:dart_echo", echoProxy); |
| 76 | 76 |
| 77 var milliseconds = 100; | 77 var milliseconds = 100; |
| 78 echoProxy.ptr.delayedEchoString("quit", milliseconds).then((_) { | 78 echoProxy.ptr.delayedEchoString("quit", milliseconds).then((_) { |
| 79 throw 'unreachable'; | 79 throw 'unreachable'; |
| 80 }, onError: (e) { | 80 }, onError: (e) { |
| 81 expect(e is ProxyCloseException, isTrue); | 81 expect(e is ProxyCloseException, isTrue); |
| 82 }); | 82 }); |
| 83 | 83 |
| 84 return new Future.delayed( | 84 return new Future.delayed( |
| 85 new Duration(milliseconds: 10), () => echoProxy.close()); | 85 new Duration(milliseconds: 10), () => echoProxy.close()); |
| 86 }); | 86 }); |
| 87 }); | 87 }); |
| 88 } | 88 } |
| OLD | NEW |