| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file | 3 // BSD-style license that can be found in the LICENSE file |
| 4 | 4 |
| 5 #library('JsInterop2Test'); | 5 #library('JsInterop2Test'); |
| 6 #import('../../lib/unittest/unittest.dart'); | 6 #import('../../lib/unittest/unittest.dart'); |
| 7 #import('../../lib/unittest/html_config.dart'); | 7 #import('../../lib/unittest/html_config.dart'); |
| 8 #import('dart:html'); | 8 #import('dart:html'); |
| 9 #import('dart:json'); | 9 #import('dart:json'); |
| 10 | 10 |
| 11 injectSource(code) { | 11 injectSource(code) { |
| 12 final script = new ScriptElement(); | 12 final script = new ScriptElement(); |
| 13 script.type = 'text/javascript'; | 13 script.type = 'text/javascript'; |
| 14 script.innerHTML = code; | 14 script.innerHTML = code; |
| 15 document.body.nodes.add(script); | 15 document.body.nodes.add(script); |
| 16 } | 16 } |
| 17 | 17 |
| 18 isolateTest = """ | 18 isolateTest = """ |
| 19 function test(data) { | 19 function test(data) { |
| 20 if (data == 'sent') | 20 if (data == 'sent') |
| 21 return 'received'; | 21 return 'received'; |
| 22 } | 22 } |
| 23 | 23 |
| 24 var port = new ReceivePortSync(test); | 24 var port = new ReceivePortSync(test); |
| 25 window.registerPort('test', port.toSendPort()); | 25 window.registerPort('test', port.toSendPort()); |
| 26 """; | 26 """; |
| 27 | 27 |
| 28 main() { | 28 main() { |
| 29 useHtmlConfiguration(); | 29 useHtmlConfiguration(); |
| 30 var callback; | |
| 31 test('dart.js', () { | |
| 32 callback = expectAsync1((e) { | |
| 33 Expect.isTrue(e.data); | |
| 34 window.on.message.remove(callback); | |
| 35 }); | |
| 36 window.on.message.add(callback); | |
| 37 injectSource(@"window.postMessage(window._$dart$initialized, '*');"); | |
| 38 }); | |
| 39 | 30 |
| 40 test('isolateTest', () { | 31 test('isolateTest', () { |
| 41 injectSource(isolateTest); | 32 injectSource(isolateTest); |
| 42 | 33 |
| 43 var port = window.lookupPort('test'); | 34 var port = window.lookupPort('test'); |
| 44 var result = port.call('sent'); | 35 var result = port.call('sent'); |
| 45 Expect.equals('received', result); | 36 Expect.equals('received', result); |
| 46 | 37 |
| 47 result = port.call('ignore'); | 38 result = port.call('ignore'); |
| 48 Expect.isNull(result); | 39 Expect.isNull(result); |
| 49 }); | 40 }); |
| 50 } | 41 } |
| OLD | NEW |