OLD | NEW |
| (Empty) |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 // Dart test program for testing that errors thrown from isolates are | |
6 // processed correctly and don't result in crashes. | |
7 | |
8 #library('Isolate3NegativeTest'); | |
9 #import('dart:isolate'); | |
10 #import('../../../lib/unittest/unittest.dart'); | |
11 | |
12 class TestClass { | |
13 TestClass.named(num this.fld1) : fld2=fld1 { | |
14 TestClass.i = 0; // Should cause a compilation error. | |
15 } | |
16 num fld1; | |
17 num fld2; | |
18 } | |
19 | |
20 class Isolate3NegativeTest extends Isolate { | |
21 Isolate3NegativeTest() : super(); | |
22 | |
23 void main() { | |
24 this.port.receive((ignored, replyTo) { | |
25 var tmp = new TestClass.named(10); | |
26 replyTo.send(tmp, null); | |
27 }); | |
28 } | |
29 } | |
30 | |
31 main() { | |
32 test("child isolate compilation errors propagate correctly. ", () { | |
33 void msg_callback(var message) { | |
34 // This test is a negative test and should not complete successfully. | |
35 } | |
36 void spawn_callback(SendPort port) { | |
37 port.call("foo").then(expectAsync(msg_callback)); | |
38 } | |
39 new Isolate3NegativeTest().spawn().then(expectAsync(spawn_callback)); | |
40 }); | |
41 } | |
OLD | NEW |