Chromium Code Reviews| Index: tests/html/postmessage_structured_test.dart |
| diff --git a/tests/html/postmessage_structured_test.dart b/tests/html/postmessage_structured_test.dart |
| index 8581dc280ca6c18cf5e7f4f5a90da94fb249aaa2..b52ecc4573d60c0a132aba1ef91806589b82d2ec 100644 |
| --- a/tests/html/postmessage_structured_test.dart |
| +++ b/tests/html/postmessage_structured_test.dart |
| @@ -26,20 +26,18 @@ main() { |
| final JS_CODE = """ |
| window.postMessage({eggs: 3}, '*'); |
| """; |
| - var callback; |
| - var onSuccess = expectAsync1((e) { |
| - window.on.message.remove(callback); |
| - }); |
| - callback = (e) { |
| - guardAsync(() { |
| - var data = e.data; |
| - if (data is String) return; // Messages from unit test protocol. |
| - expect(data, isMap); |
| - expect(data['eggs'], equals(3)); |
| - onSuccess(e); |
| - }); |
| - }; |
| - window.on.message.add(callback); |
| + var completed = false; |
| + var subscription = null; |
| + subscription = window.onMessage.listen(expectAsyncUntil1( |
| + (e) { |
| + var data = e.data; |
| + if (data is String) return; // Messages from unit test protocol. |
| + completed = true; |
| + subscription.cancel(); |
| + expect(data, isMap); |
| + expect(data['eggs'], equals(3)); |
| + }, |
| + () => completed)); |
| injectSource(JS_CODE); |
| }); |
| @@ -58,21 +56,19 @@ main() { |
| window.postMessage(response, '*'); |
| } |
| """; |
| - var callback; |
| - var onSuccess = expectAsync1((e) { |
| - window.on.message.remove(callback); |
| - }); |
| - callback = (e) { |
| - guardAsync(() { |
| - var data = e.data; |
| - if (data is String) return; // Messages from unit test protocol. |
| - expect(data, isMap); |
| - if (data['recipient'] != 'DART') return; // Hearing the sent message. |
| - expect(data['peas'], equals(50)); |
| - onSuccess(e); |
| - }); |
| - }; |
| - window.on.message.add(callback); |
| + var completed = false; |
| + var subscription = null; |
| + subscription = window.onMessage.listen(expectAsyncUntil1( |
| + (e) { |
| + var data = e.data; |
| + if (data is String) return; // Messages from unit test protocol. |
| + if (data['recipient'] != 'DART') return; // Hearing the sent message. |
| + completed = true; |
| + subscription.cancel(); |
| + expect(data, isMap); |
| + expect(data['peas'], equals(50)); |
| + }, |
| + () => completed)); |
| injectSource(JS_CODE); |
| window.postMessage({'recipient': 'JS', 'curry': 'peas'}, '*'); |
| }); |
| @@ -93,22 +89,21 @@ main() { |
| window.postMessage(response, '*'); |
| } |
| """; |
| - var onSuccess = expectAsync0(() {}); |
| - callback(e) { |
| - guardAsync(() { |
| - var data = e.data; |
| - if (data is String) return; // Messages from unit test protocol. |
| - expect(data, isMap); |
| - if (data['recipient'] != 'DART') return; // Not for me. |
| - var returnedValue = data['data']; |
| - |
| - window.on.message.remove(callback); |
| - expect(returnedValue, isNot(same(value))); |
| - verifyGraph(value, returnedValue); |
| - onSuccess(); |
| - }); |
| - }; |
| - window.on.message.add(callback); |
| + var completed = false; |
| + var subscription = null; |
| + subscription = window.onMessage.listen(expectAsyncUntil1( |
| + (e) { |
| + var data = e.data; |
| + if (data is String) return; // Messages from unit test protocol. |
|
Emily Fortuna
2013/01/28 23:15:18
delete one space here and you can get this line ba
|
| + if (data['recipient'] != 'DART') return; // Not for me. |
| + completed = true; |
| + subscription.cancel(); |
| + expect(data, isMap); |
| + var returnedValue = data['data']; |
| + expect(returnedValue, isNot(same(value))); |
| + verifyGraph(value, returnedValue); |
| + }, |
| + () => completed)); |
| injectSource(JS_CODE); |
| window.postMessage({'recipient': 'JS', 'data': value}, '*'); |
| }); |