Index: tests/standalone/package/package_isolate_test.dart |
diff --git a/tests/standalone/package/package_isolate_test.dart b/tests/standalone/package/package_isolate_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a94a268be21c6531d4af5b3efd5a6a53b28bbc67 |
--- /dev/null |
+++ b/tests/standalone/package/package_isolate_test.dart |
@@ -0,0 +1,47 @@ |
+// Copyright (c) 2012, 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 package_isolate_test; |
+ |
+import 'package:shared.dart' as shared; |
+import 'dart:isolate'; |
+import '../../../pkg/unittest/unittest.dart'; |
+ |
+expectResponse() { |
+ port.receive(expectAsync2((msg, r) { |
+ expect('isolate', msg); |
+ expect('main', shared.output); |
+ port.close(); |
+ })); |
+} |
+ |
+void main() { |
+ test("package in spawnFunction()", () { |
+ expectResponse(); |
+ shared.output = 'main'; |
+ var sendPort = spawnFunction(isolate_main); |
+ sendPort.send("sendPort", port.toSendPort()); |
+ }); |
+ |
+ test("package in spawnUri() of sibling file", () { |
+ expectResponse(); |
+ shared.output = 'main'; |
+ var sendPort = spawnUri('sibling_isolate.dart'); |
+ sendPort.send('sendPort', port.toSendPort()); |
+ }); |
+ |
+ test("package in spawnUri() of file in folder", () { |
+ expectResponse(); |
+ shared.output = 'main'; |
+ var sendPort = spawnUri('test_folder/folder_isolate.dart'); |
+ sendPort.send('sendPort', port.toSendPort()); |
+ }); |
+} |
+ |
+void isolate_main() { |
+ shared.output = 'isolate'; |
+ port.receive((msg, replyTo) { |
+ replyTo.send(shared.output); |
+ }); |
+} |