blob: 78c3042e536168dfaac67a2cac99ec51c22f2c90 [file] [log] [blame]
// 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() {
port.receive((msg, reply) {
reply.send('re: ${new MyClass().myFunc(msg)}');
});
}
main() {
test('message - reply chain', () {
ReceivePort port = new ReceivePort();
port.receive((msg, _) {
port.close();
expect(msg, equals('re: hi there'));
});
SendPort s = spawnFunction(child);
s.send('hi', port.toSendPort());
});
}