Chromium Code Reviews| Index: tests/isolate/v2_spawn_function_custom_class_test.dart |
| =================================================================== |
| --- tests/isolate/v2_spawn_function_custom_class_test.dart (revision 0) |
| +++ tests/isolate/v2_spawn_function_custom_class_test.dart (revision 0) |
| @@ -0,0 +1,38 @@ |
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +// Create a user-defined class in a new isolate. |
| +// |
| +// Regression test for vm bug 2235: We were forgetting to finalize |
| +// classes in new isolates started using the v2 api. |
| + |
| +#library('spawn_tests'); |
| +#import('dart:isolate'); |
| +#import('../../lib/unittest/unittest.dart'); |
| + |
| +class MyClass { |
| + var myVar = 'there'; |
| + myFunc(msg) { |
| + return '$msg $myVar'; |
| + } |
| +} |
| + |
| +child() { |
| + port.receive((msg, reply) { |
| + reply.send('re: ${new MyClass().myFunc(msg)}'); |
| + }); |
| +} |
| + |
| +main() { |
| + test('message - reply chain', () { |
|
Ivan Posva
2012/05/29 21:55:58
What bothers me here is that we are in a circular
Siggi Cherem (dart-lang)
2012/06/05 21:49:51
It bothers me too.
The only reason we use dart:is
|
| + ReceivePort port = new ReceivePort(); |
| + port.receive(expectAsync(msg, _) { |
| + port.close(); |
| + expect(msg).equals('re: hi there'); |
| + }); |
| + |
| + SendPort s = spawnFunction(child); |
| + s.send('hi', port.toSendPort()); |
| + }); |
| +} |