OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 // Example of spawning an isolate from a function. | 5 // Example of spawning an isolate from a function. |
6 library spawn_tests; | 6 library spawn_tests; |
7 import 'dart:isolate'; | 7 import 'dart:isolate'; |
8 import 'package:unittest/unittest.dart'; | 8 import 'package:unittest/unittest.dart'; |
9 import "remote_unittest_helper.dart"; | 9 import "remote_unittest_helper.dart"; |
10 | 10 |
11 child(args) { | 11 child(args) { |
12 var msg = args[0]; | 12 var msg = args[0]; |
13 var reply = args[1]; | 13 var reply = args[1]; |
14 reply.send('re: $msg'); | 14 reply.send('re: $msg'); |
15 } | 15 } |
16 | 16 |
17 void main([args, port]) { | 17 void main([args, port]) { |
18 if (testRemote(main, port)) return; | 18 if (testRemote(main, port)) return; |
19 test('message - reply chain', () { | 19 test('message - reply chain', () { |
20 ReceivePort port = new ReceivePort(); | 20 ReceivePort port = new ReceivePort(); |
21 Isolate.spawn(child, ['hi', port.sendPort]); | 21 Isolate.spawn(child, ['hi', port.sendPort]); |
22 port.listen(expectAsync1((msg) { | 22 port.listen(expectAsync((msg) { |
23 port.close(); | 23 port.close(); |
24 expect(msg, equals('re: hi')); | 24 expect(msg, equals('re: hi')); |
25 })); | 25 })); |
26 }); | 26 }); |
27 } | 27 } |
OLD | NEW |