Index: tests/isolate/src/NestedSpawn2Test.dart |
diff --git a/tests/isolate/src/NestedSpawn2Test.dart b/tests/isolate/src/NestedSpawn2Test.dart |
deleted file mode 100644 |
index 9b1ae10308dfb367e0614057caa8bd45809db02e..0000000000000000000000000000000000000000 |
--- a/tests/isolate/src/NestedSpawn2Test.dart |
+++ /dev/null |
@@ -1,83 +0,0 @@ |
-// Copyright (c) 2011, 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 that isolates can spawn other isolates and |
-// that the nested isolates can communicate with the main once the spawner has |
-// disappeared. |
- |
-#library('NestedSpawn2Test'); |
-#import("dart:isolate"); |
-#import('../../../lib/unittest/unittest.dart'); |
- |
-class IsolateA extends Isolate { |
- IsolateA() : super.heavy(); |
- |
- void main() { |
- this.port.receive((msg, replyTo) { |
- Expect.equals("launch nested!", msg); |
- new IsolateB().spawn().then((SendPort p) { |
- p.send(replyTo, null); |
- this.port.close(); |
- }); |
- }); |
- } |
-} |
- |
-String msg0 = "0 there?"; |
-String msg1 = "1 Yes."; |
-String msg2 = "2 great. Think the other one is already dead?"; |
-String msg3 = "3 Give him some time."; |
-String msg4 = "4 now?"; |
-String msg5 = "5 Now."; |
-String msg6 = "6 Great. Bye"; |
- |
-void _call(SendPort p, msg, void onreceive(m, replyTo)) { |
- final replyTo = new ReceivePort(); |
- p.send(msg, replyTo.toSendPort()); |
- replyTo.receive((m, r) { |
- replyTo.close(); |
- onreceive(m, r); |
- }); |
-} |
- |
-class IsolateB extends Isolate { |
- IsolateB() : super.heavy(); |
- |
- void main() { |
- this.port.receive((mainPort, replyTo) { |
- this.port.close(); |
- // Do a little ping-pong dance to give the intermediate isolate time to |
- // die. |
- _call(mainPort, msg0, ((msg, replyTo) { |
- Expect.equals("1", msg[0]); |
- _call(replyTo, msg2, ((msg, replyTo) { |
- Expect.equals("3", msg[0]); |
- _call(replyTo, msg4, ((msg, replyTo) { |
- Expect.equals("5", msg[0]); |
- replyTo.send(msg6, null); |
- })); |
- })); |
- })); |
- }); |
- } |
-} |
- |
-main() { |
- test("spawned isolate can spawn other isolates", () { |
- new IsolateA().spawn().then(expectAsync1((SendPort port) { |
- _call(port, "launch nested!", expectAsync2((msg, replyTo) { |
- Expect.equals("0", msg[0]); |
- _call(replyTo, msg1, expectAsync2((msg, replyTo) { |
- Expect.equals("2", msg[0]); |
- _call(replyTo, msg3, expectAsync2((msg, replyTo) { |
- Expect.equals("4", msg[0]); |
- _call(replyTo, msg5, expectAsync2((msg, replyTo) { |
- Expect.equals("6", msg[0]); |
- })); |
- })); |
- })); |
- })); |
- })); |
- }); |
-} |