| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // Dart test program for testing that heavy and light isolates can be mixed. | 5 // Dart test program for testing that heavy and light isolates can be mixed. |
| 6 | 6 |
| 7 #library('Mixed2Test'); | 7 #library('Mixed2Test'); |
| 8 #import("dart:isolate"); | 8 #import("dart:isolate"); |
| 9 #import('TestFramework.dart'); | 9 #import('TestFramework.dart'); |
| 10 | 10 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 } | 107 } |
| 108 } | 108 } |
| 109 | 109 |
| 110 void test(TestExpectation expect) { | 110 void test(TestExpectation expect) { |
| 111 Future<SendPort> heavy1 = expect.completes(new HeavyIsolate1().spawn()); | 111 Future<SendPort> heavy1 = expect.completes(new HeavyIsolate1().spawn()); |
| 112 Future<SendPort> heavy2 = expect.completes(new HeavyIsolate2().spawn()); | 112 Future<SendPort> heavy2 = expect.completes(new HeavyIsolate2().spawn()); |
| 113 Future<SendPort> heavy3 = expect.completes(new HeavyIsolate3().spawn()); | 113 Future<SendPort> heavy3 = expect.completes(new HeavyIsolate3().spawn()); |
| 114 | 114 |
| 115 heavy2.then(expect.runs1((SendPort heavy2Port) { | 115 heavy2.then(expect.runs1((SendPort heavy2Port) { |
| 116 heavy3.then(expect.runs1((SendPort heavy3Port) { | 116 heavy3.then(expect.runs1((SendPort heavy3Port) { |
| 117 heavy2Port.call(heavy3Port).receive(expect.runs2((h2l1Port, ignored) { | 117 heavy2Port.call(heavy3Port).then(expect.runs1((h2l1Port) { |
| 118 heavy1.then(expect.runs1((SendPort heavy1Port) { | 118 heavy1.then(expect.runs1((SendPort heavy1Port) { |
| 119 heavy1Port.send(h2l1Port, null); | 119 heavy1Port.send(h2l1Port, null); |
| 120 // --------------- | 120 // --------------- |
| 121 // Setup complete. | 121 // Setup complete. |
| 122 // Start the chain-message. | 122 // Start the chain-message. |
| 123 heavy1Port.call(1).receive(expect.runs2((result, ignored) { | 123 heavy1Port.call(1).then(expect.runs1((result) { |
| 124 Expect.equals(6531, result); | 124 Expect.equals(6531, result); |
| 125 expect.succeeded(); | 125 expect.succeeded(); |
| 126 })); | 126 })); |
| 127 })); | 127 })); |
| 128 })); | 128 })); |
| 129 })); | 129 })); |
| 130 })); | 130 })); |
| 131 } | 131 } |
| 132 | 132 |
| 133 main() { | 133 main() { |
| 134 runTests([test]); | 134 runTests([test]); |
| 135 } | 135 } |
| OLD | NEW |