| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright (c) 2012, 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 library illegal_msg_tests; |  | 
| 6 import "package:expect/expect.dart"; |  | 
| 7 import 'dart:isolate'; |  | 
| 8 import "package:async_helper/async_helper.dart"; |  | 
| 9 |  | 
| 10 funcFoo(x) => x + 2; |  | 
| 11 |  | 
| 12 echo(sendPort) { |  | 
| 13   var port = new ReceivePort(); |  | 
| 14   sendPort.send(port.sendPort); |  | 
| 15   port.listen((msg) { |  | 
| 16     sendPort.send("echoing ${msg(1)}}"); |  | 
| 17   }); |  | 
| 18 } |  | 
| 19 |  | 
| 20 main() { |  | 
| 21   ReceivePort port = new ReceivePort(); |  | 
| 22   Future spawn = Isolate.spawn(echo, port.sendPort); |  | 
| 23   var caught_exception = false; |  | 
| 24   var stream = port.asBroadcastStream(); |  | 
| 25   asyncStart(); |  | 
| 26   stream.first.then((snd) { |  | 
| 27     try { |  | 
| 28       snd.send(funcFoo); |  | 
| 29     } catch (e) { |  | 
| 30       caught_exception = true; |  | 
| 31     } |  | 
| 32 |  | 
| 33     if (caught_exception) { |  | 
| 34       port.close(); |  | 
| 35     } else { |  | 
| 36       asyncStart(); |  | 
| 37       stream.first.then((msg) { |  | 
| 38         print("from worker ${msg}"); |  | 
| 39         asyncEnd(); |  | 
| 40       }); |  | 
| 41     } |  | 
| 42     Expect.isTrue(caught_exception); |  | 
| 43     asyncEnd(); |  | 
| 44   }); |  | 
| 45 } |  | 
| OLD | NEW | 
|---|