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

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

Issue 221663005: Load deferred chunks in the right order. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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
1 import 'dart:isolate'; 1 import 'dart:isolate';
2 import 'dart:async'; 2 import 'dart:async';
3 import 'package:unittest/unittest.dart'; 3 import 'package:unittest/unittest.dart';
4 4
5 @a import 'deferred_in_isolate_lib.dart' as lib1; 5 @a import 'deferred_in_isolate_lib.dart' as lib1;
6 @b import 'deferred_api_library.dart' as lib2; 6 @b import 'deferred_library.dart' as lib2;
7 7
8 const a = const DeferredLibrary("lib1"); 8 const a = const DeferredLibrary("lib1");
9 const b = const DeferredLibrary("NonExistingFile", uri: "wrong/"); 9 const b = const DeferredLibrary("NonExistingFile", uri: "wrong/");
10 10
11 loadDeferred(ports) { 11 loadDeferred(ports) {
12 a.load().then((_) { 12 a.load().then((_) {
13 ports[0].send(lib1.f()); 13 ports[0].send(lib1.f());
14 }); 14 });
15 b.load().then((b) { 15 b.load().then((b) {
16 ports[1].send("No error"); 16 ports[1].send("No error");
17 lib2.foo(20); 17 lib2.foo(20);
18 }).catchError((_) { 18 }).catchError((_) {
19 ports[1].send("Error caught"); 19 ports[1].send("Error caught");
20 }, test: (e) => e is DeferredLoadException); 20 }, test: (e) => e is DeferredLoadException);
21 } 21 }
22 22
23 main() { 23 main() {
24 test("Deferred loading in isolate", () { 24 test("Deferred loading in isolate", () {
25 List<ReceivePort> ports = new List.generate(2, (_) => new ReceivePort()); 25 List<ReceivePort> ports = new List.generate(2, (_) => new ReceivePort());
26 ports[0].first.then(expectAsync((msg) { 26 ports[0].first.then(expectAsync((msg) {
27 expect(msg, equals("hi")); 27 expect(msg, equals("hi"));
28 })); 28 }));
29 ports[1].first.then(expectAsync((msg) { 29 ports[1].first.then(expectAsync((msg) {
30 expect(msg, equals("Error caught")); 30 expect(msg, equals("Error caught"));
31 })); 31 }));
32 Isolate.spawn(loadDeferred, ports.map((p) => p.sendPort).toList()); 32 Isolate.spawn(loadDeferred, ports.map((p) => p.sendPort).toList());
33 }); 33 });
34 } 34 }
OLDNEW
« no previous file with comments | « tests/lib/async/deferred/deferred_fail_to_load_test.dart ('k') | tests/lib/async/deferred/deferred_library.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698