Chromium Code Reviews| Index: dart/tests/isolate/spawn_uri_missing_from_isolate_test.dart |
| diff --git a/dart/tests/isolate/spawn_uri_missing_from_isolate_test.dart b/dart/tests/isolate/spawn_uri_missing_from_isolate_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5c1192a9bbf32442952b15f23e69e556050a2b67 |
| --- /dev/null |
| +++ b/dart/tests/isolate/spawn_uri_missing_from_isolate_test.dart |
| @@ -0,0 +1,42 @@ |
| +// Copyright (c) 2014, 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. |
| + |
| +/// Tests that Isolate.spawnUri completes with an error when the given URI |
| +/// doesn't resolve to an existing resource. |
| +/// |
| +/// This test is similar to spawn_uri_missing_test.dart, but tests what happens |
| +/// when Isolate.spawnUri is called from an a spawned isolate. In dart2js, |
| +/// these two situations are different. |
| +library test.isolate.spawn_uri_missing_from_isolate_test; |
| + |
| +import 'dart:isolate'; |
| + |
| +import 'dart:async'; |
| + |
| +import 'package:async_helper/async_helper.dart'; |
| + |
| +import 'spawn_uri_missing_test.dart'; |
|
floitsch
2014/05/26 12:34:35
I would just copy the `doTest` here.
Unless there
|
| + |
| +const String SUCCESS = 'Test worked.'; |
| + |
| +void isolate(SendPort port) { |
| + doTest().then( |
| + (_) => port.send(SUCCESS), |
| + onError: (error, stack) => port.send('Test failed: $error\n$stack')); |
| +} |
| + |
| +main() { |
| + ReceivePort port = new ReceivePort(); |
| + Isolate.spawn(isolate, port.sendPort); |
| + Completer completer = new Completer(); |
| + port.listen((message) { |
| + if (message == SUCCESS) { |
| + completer.complete(null); |
| + } else { |
| + completer.completeError(message); |
| + } |
| + }); |
| + |
| + asyncTest(() => completer.future); |
| +} |