Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #library('IsolatesTest'); | 1 #library('IsolatesTest'); |
| 2 #import('../../lib/unittest/unittest.dart'); | 2 #import('../../lib/unittest/unittest.dart'); |
| 3 #import('../../lib/unittest/dom_config.dart'); | 3 #import('../../lib/unittest/dom_config.dart'); |
| 4 #import('dart:dom_deprecated'); | 4 #import('dart:dom_deprecated'); |
| 5 #import('dart:json'); | 5 #import('dart:json'); |
| 6 #import('dart:isolate', prefix:'isolate'); | 6 #import('dart:isolate', prefix:'isolate'); |
| 7 | 7 |
| 8 class PingPongIsolate extends isolate.Isolate { | 8 class PingPongIsolate extends isolate.Isolate { |
| 9 PingPongIsolate() : super.heavy(); | 9 PingPongIsolate() : super.heavy(); |
| 10 | 10 |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 26 port.receive((message, replyTo) { | 26 port.receive((message, replyTo) { |
| 27 replyTo.send(responseFor(message), null); | 27 replyTo.send(responseFor(message), null); |
| 28 }); | 28 }); |
| 29 } | 29 } |
| 30 | 30 |
| 31 static String responseFor(message) => 'response for $message'; | 31 static String responseFor(message) => 'response for $message'; |
| 32 } | 32 } |
| 33 | 33 |
| 34 main() { | 34 main() { |
| 35 useDomConfiguration(); | 35 useDomConfiguration(); |
| 36 asyncTest('IsolateSpawn', 1, () { | 36 test('IsolateSpawn', () { |
| 37 var callback = expectAsync0((){}); | |
| 37 new PingPongIsolate().spawn().then((isolate.SendPort port) { | 38 new PingPongIsolate().spawn().then((isolate.SendPort port) { |
|
Siggi Cherem (dart-lang)
2012/05/21 22:20:47
=> expectAsync1 (and remove 'callback')
gram
2012/05/22 17:36:36
Done.
| |
| 38 callbackDone(); | 39 callback(); |
| 39 }); | 40 }); |
| 40 }); | 41 }); |
| 41 asyncTest('NonDOMIsolates', 1, () { | 42 test('NonDOMIsolates', () { |
| 43 var callback = expectAsync0((){}); | |
|
Siggi Cherem (dart-lang)
2012/05/21 22:20:47
same here. (basically expectAsync1 on every 'then'
gram
2012/05/22 17:36:36
Done.
| |
| 42 new PingPongIsolate().spawn().then((isolate.SendPort port) { | 44 new PingPongIsolate().spawn().then((isolate.SendPort port) { |
| 43 final msg1 = 'foo'; | 45 guardAsync(() { |
| 44 final msg2 = 'bar'; | 46 final msg1 = 'foo'; |
| 45 port.call(msg1).then((response) { | 47 final msg2 = 'bar'; |
| 46 Expect.equals(PingPongIsolate.responseFor(msg1), response); | 48 port.call(msg1).then((response) { |
| 47 port.call(msg2).then((response) { | 49 guardAsync(() { |
| 48 Expect.equals(PingPongIsolate.responseFor(msg2), response); | 50 Expect.equals(PingPongIsolate.responseFor(msg1), response); |
| 49 callbackDone(); | 51 port.call(msg2).then((response) { |
| 52 guardAsync(() { | |
| 53 Expect.equals(PingPongIsolate.responseFor(msg2), response); | |
| 54 callback(); | |
| 55 }); | |
| 56 }); | |
| 57 }); | |
| 50 }); | 58 }); |
| 51 }); | 59 }); |
| 52 }); | 60 }); |
| 53 }); | 61 }); |
| 54 } | 62 } |
| OLD | NEW |