OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 #library("RequestReplyTest"); | |
6 | |
7 #import("dart:isolate"); | |
8 #import('../../../lib/unittest/unittest.dart'); | |
9 | |
10 class TestIsolate extends Isolate { | |
11 | |
12 TestIsolate() : super(); | |
13 | |
14 void main() { | |
15 this.port.receive((message, SendPort replyTo) { | |
16 replyTo.send(message + 87); | |
17 this.port.close(); | |
18 }); | |
19 } | |
20 | |
21 } | |
22 | |
23 void main() { | |
24 test("call", () { | |
25 new TestIsolate().spawn().then(expectAsync1((SendPort port) { | |
26 port.call(42).then(expectAsync1((message) { | |
27 Expect.equals(42 + 87, message); | |
28 })); | |
29 })); | |
30 }); | |
31 | |
32 test("send", () { | |
33 new TestIsolate().spawn().then(expectAsync1((SendPort port) { | |
34 ReceivePort reply = new ReceivePort(); | |
35 port.send(99, reply.toSendPort()); | |
36 reply.receive(expectAsync2((message, replyTo) { | |
37 Expect.equals(99 + 87, message); | |
38 reply.close(); | |
39 })); | |
40 })); | |
41 }); | |
42 } | |
OLD | NEW |