blob: e91d4a960f67ac5cf823f457fae97032a9da5592 [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/lib/unittest.dart';
import '../../pkg/unittest/lib/html_config.dart';
child() {
port.receive((msg, reply) {
reply.send('re: $msg');
port.close();
});
}
main() {
useHtmlConfiguration();
var script = new ScriptElement();
document.body.append(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());
});
}