blob: 0904faef0d1ec619fece369a67b76c041a7b746f [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.
// Dart test program for testing isolate communication with
// typed objects.
// VMOptions=--checked
library TypedMessageTest;
import "package:expect/expect.dart";
import "dart:isolate";
void logMessages() {
print("Starting log server.");
port.receive((List<int> message, SendPort replyTo) {
print("Log $message");
Expect.equals(5, message.length);
Expect.equals(0, message[0]);
Expect.equals(1, message[1]);
Expect.equals(2, message[2]);
Expect.equals(3, message[3]);
Expect.equals(4, message[4]);
port.close();
replyTo.send(1, null);
print("Stopping log server.");
});
}
main() {
SendPort remote = spawnFunction(logMessages);
List<int> msg = new List<int>(5);
for (int i = 0; i < 5; i++) {
msg[i] = i;
}
remote.call(msg).then((int message) {
Expect.equals(1, message);
});
}