Files
sdk/tests/html/js_interop_2_test.dart
T
2012-08-14 22:36:59 +00:00

43 lines
1.0 KiB
Dart

// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file
#library('JsInterop2Test');
#import('../../pkg/unittest/unittest.dart');
#import('../../pkg/unittest/html_config.dart');
#import('dart:html');
#import('dart:isolate');
injectSource(code) {
final script = new ScriptElement();
script.type = 'text/javascript';
script.innerHTML = code;
document.body.nodes.add(script);
}
var isolateTest = """
function test(data) {
if (data == 'sent')
return 'received';
}
var port = new ReceivePortSync();
port.receive(test);
window.registerPort('test', port.toSendPort());
""";
main() {
useHtmlConfiguration();
test('dart-to-js-ports', () {
injectSource(isolateTest);
SendPortSync port = window.lookupPort('test');
var result = port.callSync('sent');
Expect.equals('received', result);
result = port.callSync('ignore');
Expect.isNull(result);
});
}