OLD | NEW |
1 library IsolatesTest; | 1 library IsolatesTest; |
2 import '../../pkg/unittest/lib/unittest.dart'; | 2 import '../../pkg/unittest/lib/unittest.dart'; |
3 import '../../pkg/unittest/lib/html_config.dart'; | 3 import '../../pkg/unittest/lib/html_config.dart'; |
4 import 'dart:async'; | 4 import 'dart:async'; |
5 import 'dart:html'; | 5 import 'dart:html'; |
6 import 'dart:convert'; | 6 import 'dart:convert'; |
7 import 'dart:isolate' as isolate; | 7 import 'dart:isolate' as isolate; |
8 | 8 |
9 String responseFor(message) => 'response for $message'; | 9 String responseFor(message) => 'response for $message'; |
10 | 10 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 port.close(); | 47 port.close(); |
48 }); | 48 }); |
49 test('NonDOMIsolates', () { | 49 test('NonDOMIsolates', () { |
50 var callback = expectAsync((){}); | 50 var callback = expectAsync((){}); |
51 var response = new isolate.ReceivePort(); | 51 var response = new isolate.ReceivePort(); |
52 var remote = isolate.Isolate.spawn(isolateEntry, response.sendPort); | 52 var remote = isolate.Isolate.spawn(isolateEntry, response.sendPort); |
53 response.first.then((port) { | 53 response.first.then((port) { |
54 final msg1 = 'foo'; | 54 final msg1 = 'foo'; |
55 final msg2 = 'bar'; | 55 final msg2 = 'bar'; |
56 sendReceive(port, msg1).then((response) { | 56 sendReceive(port, msg1).then((response) { |
57 guardAsync(() { | 57 expect(response, equals(responseFor(msg1))); |
58 expect(response, equals(responseFor(msg1))); | 58 sendReceive(port, msg2).then((response) { |
59 sendReceive(port, msg2).then((response) { | 59 expect(response, equals(responseFor(msg2))); |
60 guardAsync(() { | 60 callback(); |
61 expect(response, equals(responseFor(msg2))); | |
62 callback(); | |
63 }); | |
64 }); | |
65 }); | 61 }); |
66 }); | 62 }); |
67 }); | 63 }); |
68 }); | 64 }); |
69 } | 65 } |
OLD | NEW |