blob: b7464fc9a855fd51b1cea68ab3c5f120c50be00b [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 'package:unittest/unittest.dart';
import 'package:unittest/html_config.dart';
import "../remote_unittest_helper.dart";
child(var message) {
var data = message[0];
var reply = message[1];
reply.send('re: $data');
}
void main([args, port]) {
if (testRemote(main, port)) return;
useHtmlConfiguration();
var script = new ScriptElement();
document.body.append(script);
test('spawn with other script tags in page', () {
ReceivePort port = new ReceivePort();
port.listen(expectAsync((msg) {
expect(msg, equals('re: hi'));
port.close();
}));
Isolate.spawn(child, ['hi', port.sendPort]);
});
}