| 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 exceptions in other isolates bring down | 5 // Dart test program for testing that exceptions in other isolates bring down |
| 6 // the program. | 6 // the program. |
| 7 | 7 |
| 8 #library('Isolate2NegativeTest'); | 8 #library('Isolate2NegativeTest'); |
| 9 #import('dart:isolate'); | 9 #import('dart:isolate'); |
| 10 #import('TestFramework.dart'); | 10 #import('../../../lib/unittest/unittest.dart'); |
| 11 | 11 |
| 12 class Isolate2NegativeTest extends Isolate { | 12 class Isolate2NegativeTest extends Isolate { |
| 13 Isolate2NegativeTest() : super(); | 13 Isolate2NegativeTest() : super(); |
| 14 | 14 |
| 15 void main() { | 15 void main() { |
| 16 throw "foo"; | 16 throw "foo"; |
| 17 } | 17 } |
| 18 } | 18 } |
| 19 | 19 |
| 20 void test(TestExpectation expect) { | 20 main() { |
| 21 // We will never call 'expect.succeeded'. This test fails with a timeout. | 21 test("catch exception from other isolate", () { |
| 22 expect.completes(new Isolate2NegativeTest().spawn()); | 22 // Calling 'then' ensures the test framework is aware that there is a |
| 23 // pending callback, so it can fail quickly. |
| 24 new Isolate2NegativeTest().spawn().then(expectAsync1((a) => null)); |
| 25 }); |
| 23 } | 26 } |
| 24 | |
| 25 main() { | |
| 26 runTests([test]); | |
| 27 } | |
| OLD | NEW |