| // Copyright (c) 2015, 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. | |
| library lib; | |
| import 'dart:mirrors'; | |
| import 'dart:isolate'; | |
| import 'package:expect/expect.dart'; | |
| child(SendPort port) { | |
| LibraryMirror root = currentMirrorSystem().isolate.rootLibrary; | |
| Expect.isNotNull(root); | |
| port.send(root.uri.toString()); | |
| } | |
| main() { | |
| final port = new RawReceivePort(); | |
| port.handler = (String childRootUri) { | |
| LibraryMirror root = currentMirrorSystem().isolate.rootLibrary; | |
| Expect.isNotNull(root); | |
| Expect.equals(root.uri.toString(), childRootUri); | |
| port.close(); | |
| }; | |
| Isolate.spawn(child, port.sendPort); | |
| } |