blob: 1064eef3be7e2dbdb1a645e17f93b543b030aaec [file] [log] [blame]
// 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.
// Test that spawn works even when there are many script files in the page.
// This requires computing correctly the URL to the orignal script, so we can
// pass it to the web worker APIs.
#library('compute_this_script');
#import('dart:html');
#import('dart:isolate');
#import('../../pkg/unittest/unittest.dart');
#import('../../pkg/unittest/html_config.dart');
child() {
port.receive((msg, reply) {
reply.send('re: $msg');
port.close();
});
}
main() {
useHtmlConfiguration();
var script = document.$dom_createElement('script');
document.body.$dom_appendChild(script);
test('spawn with other script tags in page', () {
ReceivePort port = new ReceivePort();
port.receive(expectAsync2((msg, _) {
expect(msg, equals('re: hi'));
port.close();
}));
SendPort s = spawnFunction(child);
s.send('hi', port.toSendPort());
});
}