Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: tests/lib/async/deferred/deferred_in_isolate_test.dart

Issue 163733003: Let deferred load work from worker isolates. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix status file Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 import 'dart:isolate';
2 import 'dart:async';
3 import '../../../../pkg/unittest/lib/unittest.dart';
4
5 @a import 'deferred_in_isolate_lib.dart' as lib1;
6 @b import 'deferred_api_library.dart' as lib2;
7
8 const a = const DeferredLibrary("lib1");
9 const b = const DeferredLibrary("NonExistingFile", uri: "wrong/");
10
11 loadDeferred(ports) {
12 a.load().then((_) {
13 ports[0].send(lib1.f());
14 });
15 b.load().then((b) {
16 ports[1].send("No error");
17 lib2.foo(20);
18 }).catchError((_) {
19 ports[1].send("Error caught");
20 }, test: (e) => e is DeferredLoadException);
21 }
22
23 main() {
24 test("Deferred loading in isolate", () {
25 List<ReceivePort> ports = new List.generate(2, (_) => new ReceivePort());
26 ports[0].first.then(expectAsync((msg) {
27 expect(msg, equals("hi"));
28 }));
29 ports[1].first.then(expectAsync((msg) {
30 expect(msg, equals("Error caught"));
31 }));
32 Isolate.spawn(loadDeferred, ports.map((p) => p.sendPort).toList());
33 });
34 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698