OLD | NEW |
| (Empty) |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 // Create a user-defined class in a new isolate. | |
6 // | |
7 // Regression test for vm bug 2235: We were forgetting to finalize | |
8 // classes in new isolates started using the v2 api. | |
9 | |
10 #library('spawn_tests'); | |
11 #import('dart:isolate'); | |
12 #import('../../lib/unittest/unittest.dart'); | |
13 | |
14 class MyClass { | |
15 var myVar = 'there'; | |
16 myFunc(msg) { | |
17 return '$msg $myVar'; | |
18 } | |
19 } | |
20 | |
21 child() { | |
22 port.receive((msg, reply) { | |
23 reply.send('re: ${new MyClass().myFunc(msg)}'); | |
24 }); | |
25 } | |
26 | |
27 main() { | |
28 test('message - reply chain', () { | |
29 ReceivePort port = new ReceivePort(); | |
30 port.receive(expectAsync(msg, _) { | |
31 port.close(); | |
32 expect(msg, equals('re: hi there')); | |
33 }); | |
34 | |
35 SendPort s = spawnFunction(child); | |
36 s.send('hi', port.toSendPort()); | |
37 }); | |
38 } | |
OLD | NEW |