blob: 615f9df0f459dea5c350f0b33527d0e735a170f3 [file] [log] [blame]
// Copyright (c) 2011-2016, 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.
/// @assertion abstract void send(message)
/// Sends an asynchronous message through this send port, to its corresponding
/// ReceivePort.
/// The content of message can be: primitive values (null, num, bool, double,
/// String), instances of SendPort, and lists and maps whose elements are any
/// of these. List and maps are also allowed to be cyclic.
///
/// @description Checks that various primitive values are sent properly.
///
/// @author kaigorodov
import "dart:isolate";
import "../../../Utils/expect.dart";
import "send_A01_util.dart";
void iMain(SendPort replyPort) {
for(var v in messagesList) {
replyPort.send(v);
}
}
main() {
asyncStart();
var receivePort = new ReceivePort();
int i = 0;
receivePort.listen((message) {
Expect.equals(messagesList[i], message);
i++;
if (i == messagesList.length) {
receivePort.close();
asyncEnd();
}
});
Isolate.spawn(iMain, receivePort.sendPort);
}