Files
sdk/tests/lib_2/isolate/port_test.dart
T
Alexander Aprelev 6b3abe0a98 [vm/concurrency] Add --experimental_enable_isolate_groups_jit flag, make --enable_isolate_groups AOT only.
Issue b/177800357.

TEST=existing test suite
Change-Id: Id6b113932ab7014b8fa6c105845c5c490b60f5e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181320
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-01-27 17:11:29 +00:00

63 lines
1.6 KiB
Dart

// 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.
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
// VMOptions=--no-enable-isolate-groups
// Test properties of ports.
library PortTest;
import "package:expect/expect.dart";
import 'dart:isolate';
main() {
testHashCode();
testEquals();
testMap();
}
void testHashCode() {
ReceivePort rp0 = new ReceivePort();
ReceivePort rp1 = new ReceivePort();
Expect.equals(rp0.sendPort.hashCode, rp0.sendPort.hashCode);
Expect.equals(rp1.sendPort.hashCode, rp1.sendPort.hashCode);
rp0.close();
rp1.close();
}
void testEquals() {
ReceivePort rp0 = new ReceivePort();
ReceivePort rp1 = new ReceivePort();
Expect.equals(rp0.sendPort, rp0.sendPort);
Expect.equals(rp1.sendPort, rp1.sendPort);
Expect.isFalse(rp0.sendPort == rp1.sendPort);
rp0.close();
rp1.close();
}
void testMap() {
ReceivePort rp0 = new ReceivePort();
ReceivePort rp1 = new ReceivePort();
final map = new Map<SendPort, int>();
map[rp0.sendPort] = 42;
map[rp1.sendPort] = 87;
Expect.equals(map[rp0.sendPort], 42);
Expect.equals(map[rp1.sendPort], 87);
map[rp0.sendPort] = 99;
Expect.equals(map[rp0.sendPort], 99);
Expect.equals(map[rp1.sendPort], 87);
map.remove(rp0.sendPort);
Expect.isFalse(map.containsKey(rp0.sendPort));
Expect.equals(map[rp1.sendPort], 87);
map.remove(rp1.sendPort);
Expect.isFalse(map.containsKey(rp0.sendPort));
Expect.isFalse(map.containsKey(rp1.sendPort));
rp0.close();
rp1.close();
}