// 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 '../../pkg/unittest/lib/unittest.dart'; class MyClass { var myVar = 'there'; myFunc(msg) { return '$msg $myVar'; } } child(args) { var reply = args[1]; var msg = args[0]; reply.send('re: ${new MyClass().myFunc(msg)}'); } main() { test('message - reply chain', () { ReceivePort port = new ReceivePort(); Isolate.spawn(child, ['hi', port.sendPort]); port.listen((msg) { port.close(); expect(msg, equals('re: hi there')); }); }); }