Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326

This commit is contained in:
Josh Matthews 2017-10-12 09:25:50 -04:00
parent 462c272380
commit 1f531f66ea
5377 changed files with 174916 additions and 84369 deletions

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: inline in markup </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');</script>
<script>log('inline script #2');</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'inline script #2' ]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: external in markup </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script src="scripts/include-1.js"></script>
<script src="scripts/include-2.js"></script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['external script #1', 'external script #2' ]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: inline+external in markup </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1')</script>
<script src="scripts/include-2.js"></script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'external script #2' ]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: external+inline in markup </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script src="scripts/include-1.js"></script>
<script>log('inline script #2')</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['external script #1', 'inline script #2' ]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write inline in markup </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write( '<script>log(\'doc write script\')<\/script>' );
log('end script #1');
</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'doc write script', 'end script #1' ]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write inline - multiple</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write( '<script>log(\'doc write script 1\')<\/script>' );
document.write( '<script>log(\'doc write script 2\')<\/script>' );
eval('log(\'eval 1\')');
document.write( '<script>log(\'doc write script 3\')<\/script>' );
log('end script #1');
</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'doc write script 1','doc write script 2', 'eval 1','doc write script 3', 'end script #1' ]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write external</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write( '<script src="scripts/include-1.js">log(\'ignore this\')<\/script>' );
log('end script #1');
</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #1' ]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write external - multiple</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write( '<script src="scripts/include-1.js">log(\'ignore this\')<\/script>' );
document.write( '<script src="scripts/include-2.js">log(\'ignore this\')<\/script>' );
log('end script #1');
</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #1', 'external script #2' ]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write external - multiple with doc.write</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write( '<script src="scripts/include-1.js">log(\'ignore this\')<\/script>' );
document.write( '<script src="scripts/include-3.js">log(\'ignore this\')<\/script>' );
document.write( '<script src="scripts/include-2.js">log(\'ignore this\')<\/script>' );
log('end script #1');
</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #1', 'external script before doc write', 'document.write external script', 'external script after doc write', 'external script #2' ]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write external + inline - multiple with doc.write</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write( '<script src="scripts/include-1.js">log(\'ignore this\')<\/script>' );
document.write( '<script>log(\'inline with doc.write #1\')<\/script>' );
document.write( '<script src="scripts/include-2.js">log(\'ignore this\')<\/script>' );
log('end script #1');
</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #1', 'inline with doc.write #1', 'external script #2']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write external + inline - multiple with doc.write + subsequent markup</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write( '<script src="scripts/include-1.js">log(\'ignore this\')<\/script>' );
document.write( '<script>log(\'inline with doc.write #1\')<\/script>' );
document.write( '<script src="scripts/include-2.js">log(\'ignore this\')<\/script>' );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #1', 'inline with doc.write #1', 'external script #2', 'inline script #2']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write external and onload events </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write( '<script src="scripts/include-1.js" onload = "log(\'include-1 load\')">log(\'ignore this\')<\/script>' )
document.write( '<script src="scripts/include-3.js" onload = "log(\'include-3 load\')"><\/script>' )
document.write( '<script src="scripts/include-2.js" onload = "log(\'include-2 load\')">log(\'ignore this\')<\/script>' )
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #1', 'include-1 load', 'external script before doc write', 'document.write external script', 'external script after doc write', 'include-3 load', 'external script #2', 'include-2 load', 'inline script #2']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added inline script earlier in document</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('log(\'head script #1\')', {}, document.getElementsByTagName('head')[0], false);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'head script #1','end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(function(){setTimeout(t.step_func(test), 100); })
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: SCRIPT elements that move themselves in DOM </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.getElementsByTagName('head')[0].appendChild(document.getElementsByTagName('script')[2]);
log('end script #1');
</script>
<script type="text/javascript">
log('script #2');
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'script #2']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added inline+external+inline script earlier in document</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('log(\'head script #1\')', {}, document.getElementsByTagName('head')[0], false);
var s = testlib.addScript('', { 'src':'scripts/include-1.js' }, document.getElementsByTagName('head')[0], false);
testlib.addScript('log(\'head script #2\')', {}, document.getElementsByTagName('head')[0], false);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
///XXX I think the spec allows this case to race
onload = function(){
setTimeout(t.step_func(
function() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'head script #1', 'head script #2', 'end script #1', 'external script #1', 'inline script #2'],
['inline script #1', 'head script #1', 'head script #2', 'end script #1', 'inline script #2', 'external script #1']]);
t.done();
}),
100);}
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added inline+external+inline script earlier in document</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('log(\'head script #1\')', {}, document.getElementsByTagName('head')[0], false);
var s = testlib.addScript('', { 'src':'scripts/include-1.js?pipe=trickle(d1)' }, document.getElementsByTagName('head')[0], false);
testlib.addScript('log(\'head script #2\')', {}, document.getElementsByTagName('head')[0], false);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'head script #1', 'head script #2', 'end script #1', 'inline script #2', 'external script #1']);
t.done();
}
onload = function(){setTimeout(t.step_func(function() {test.apply(t)}), 2000); }
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added inline script later in document</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('log(\'body script #1\')', {}, document.body, false);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'body script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(function(){setTimeout(t.step_func(test), 100); })
</script>
</body></html>

View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: multiple DOM added scripts later in document</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('log(\'body script #1\')', {}, document.getElementsByTagName('body')[0], false);
testlib.addScript('', { 'src':'scripts/include-1.js' }, document.getElementsByTagName('body')[0], false);
testlib.addScript('log(\'body script #2\')', {}, document.getElementsByTagName('body')[0], false);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
//The order of the external script vs the second inline script is undefined because the added script is async by default
//But we expect most UAs to have the second order
onload = function() {setTimeout(t.step_func(function() {
assert_any(assert_array_equals, eventOrder, [
['inline script #1', 'body script #1', 'body script #2', 'end script #1', 'external script #1', 'inline script #2'],
['inline script #1', 'body script #1', 'body script #2', 'end script #1', 'inline script #2', 'external script #1']]);
t.done();
}), 100);}
</script>
</body></html>

View file

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added scripts and doc.write</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('', { 'src':'scripts/include-3.js' }, document.getElementsByTagName('head')[0], false);
testlib.addScript('log(\'body script #2\')', {}, document.getElementsByTagName('body')[0], true);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
//XXX Need to test this delaying the document after we insert the external script and delaying the external script itself; afaict the spec allows us to race here on whether the document.write
//ever actually happens or not according to whether the insertion point is defined at the point at which the script is executed.
function test() {
assert_any(assert_array_equals, eventOrder, [
['inline script #1', 'body script #2', 'end script #1', 'external script before doc write', 'document.write external script', 'external script after doc write', 'inline script #2'],
['inline script #1', 'body script #2', 'end script #1', 'inline script #2', 'external script before doc write', 'document.write external script', 'external script after doc write'],
['inline script #1', 'body script #2', 'end script #1', 'inline script #2', 'external script before doc write', 'external script after doc write']
]);
t.done();
}
onload = t.step_func(function(){setTimeout(test.apply(t), 100); })
</script>
</body></html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added scripts and event handling </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script onload="log('inline #1 load')">
log('inline script #1');
testlib.addScript('', {'src':'scripts/include-1.js', 'onload':function(){log("external #1 load")}}, document.getElementsByTagName('head')[0], false);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'end script #1', 'external script #1', 'external #1 load', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'external script #1', 'external #1 load']
]);
t.done();
}
onload = function(){setTimeout(t.step_func(test), 100); }
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added script with data: URL </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('', { 'src':'data:text/javascript,log("data URL script")' }, document.getElementsByTagName('body')[0], true);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'end script #1', 'data URL script', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'data URL script']]);
t.done();
}
onload = function() {setTimeout( t.step_func(test), 100); }
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added script with javascript: URL </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('', { 'src':'javascript:log("JS URL script")' }, document.getElementsByTagName('body')[0], true);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', /*'JS URL script',*/ 'inline script #2']);
t.done();
/* pass condition changed 2010-12-01 due to CT-198 */
}
onload = t.step_func(function(){setTimeout( test, 100); })
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added script, late .src </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script = testlib.addScript('', { }, document.getElementsByTagName('body')[0], false);
script.src='scripts/include-1.js';
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
onload = function() {setTimeout(t.step_func(
function() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'end script #1', 'external script #1', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'external script #1']]);
t.done()
}),
100)}
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added script, even later .src </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script = testlib.addScript('', { }, document.getElementsByTagName('body')[0], false);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2', 'external script #1']);
t.done();
}
onload = t.step_func(function(){
script.src='scripts/include-1.js';
script.onload = t.step_func(test);
})
</script>
</body></html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added script, .src set twice</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script = testlib.addScript('', { }, document.getElementsByTagName('body')[0], false);
script.src='scripts/include-1.js';
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'end script #1', 'external script #1', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'external script #1']]);
t.done();
}
onload = t.step_func(function(){
script.src='scripts/include-2.js'; // needs to be ignored, script already "is executed"
setTimeout(t.step_func(test), 100);
})
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM added script, .src set on script with content</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script = testlib.addScript('log("inline DOM script #1")', { }, document.getElementsByTagName('body')[0], false);
script.src='scripts/include-1.js';
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'inline DOM script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(function(){
setTimeout(t.step_func(test), 100);
})
</script>
</body></html>

View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: doc write added script, .src set later</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var t = async_test();
document.write('<script><\/script>');
var scripts = document.getElementsByTagName('script');
scripts[scripts.length - 1].src = 'scripts/include-1.js';
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
onload = function() {
setTimeout(
t.step_func(function() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'end script #1', 'external script #1', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'external script #1']]);
t.done();
}),
100);
}
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: doc write added script with content, .src set later</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write('<script>log(\'doc.write script\')<\/script>');
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
document.getElementsByTagName('script')[4].src='scripts/include-1.js';
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'doc.write script', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(function(){
setTimeout(t.step_func(test), 100);
})
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: javascript: URL</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
window.location.replace('javascript:log(\'JS URL\')');
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [
['inline script #1', 'end script #1', 'JS URL', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'JS URL']]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: javascript: URL in HREF</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<p><a href="javascript:log('JS URL')"></a></p>
<script>log('inline script #1');
if(document.links[0].click){
document.links[0].click();
}else{
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
document.links[0].dispatchEvent(evt);
}
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [
['inline script #1', 'end script #1', 'JS URL', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'JS URL']]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: javascript: URL in HREF, onclick handler</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<p><a href="javascript:log('JS URL')" onclick="log('click event');return true;"></a></p>
<script>log('inline script #1');
if(document.links[0].click){
document.links[0].click();
}else{
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
document.links[0].dispatchEvent(evt);
}
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
var w = window;
onload = function() {setTimeout(
t.step_func(function() {
w.assert_any(w.assert_array_equals, w.eventOrder,
[['inline script #1', 'click event', 'end script #1', 'JS URL', 'inline script #2'],
['inline script #1', 'click event', 'end script #1', 'inline script #2', 'JS URL']]);
t.done();
}), 200);
}
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: focus and blur events</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<form><input type="button" onclick="log('click event')" onfocus="log('focus event')" onblur="log('blur event')"><input type="button" onfocus="log('focus el 2 event')" onblur="log('blur event')"></form>
<script>log('inline script #1');
document.forms[0][0].focus();
document.forms[0][1].click();
document.forms[0][1].focus();
log('end script #1');
</script>
<script type="text/javascript">
log('inline script #2');
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'focus event', 'blur event', 'focus el 2 event', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(function(){setTimeout(t.step_func(test), 200);})
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: innerHTML and scripts</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
// script added with innerHTML should not run..
document.getElementsByTagName('div')[1].innerHTML = '<script>log("innerHTML script runs")<\/script><script src="scripts/include-1.js"><\/script>';
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(function(){setTimeout(t.step_func(test), 200);})
</script>
</body></html>

View file

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: innerHTML and scripts moved in DOM</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
// script added with innerHTML should not run..
document.getElementsByTagName('div')[0].innerHTML = '<script>log("innerHTML script runs")<\/script><script src="scripts/include-1.js"><\/script>';
try{
document.body.appendChild( document.getElementsByTagName('div')[0].firstChild );
document.body.appendChild( document.getElementsByTagName('div')[0].firstChild );
}catch(e){
log('ERROR while testing');
}
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(function(){setTimeout(t.step_func(test), 200);})
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: innerHTML adding frames with JS in</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
document.getElementsByTagName('div')[1].innerHTML = '<iframe src="pages/helloworld.html"></iframe>';
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2', 'frame/popup script']);
t.done();
}
onload = t.step_func(function(){setTimeout(t.step_func(test), 200);})
</script>
</body></html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: innerHTML adding frames with JS in and moving scripts</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
document.getElementsByTagName('div')[1].innerHTML = '<iframe src="pages/helloworld.html"></iframe>';
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2', 'frame/popup script']);
t.done();
/*, ['inline script #1', 'end script #1', 'frame/popup script', 'inline script #2'] */
}
onload = t.step_func(function(){
try{
document.body.appendChild(document.importNode( top.frames[0].document.getElementsByTagName('script')[0], true ));
}catch(e){ log('ERROR - tested functionality not supported'); }
setTimeout(t.step_func(test), 200);
});
</script>
</body></html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM cloning</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
testlib.addScript('log(\'head script #1\')', {}, document.getElementsByTagName('head')[0], true);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
try{
var script = document.getElementsByTagName('script')[0].cloneNode(true);
document.body.appendChild(script);
}catch(e){ log('ERROR - tested functionality not supported'); }
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'head script #1', 'end script #1', 'inline script #2' ]);
t.done();
}
onload = t.step_func(function(){
setTimeout(t.step_func(test), 200);
});
</script>
</body></html>

View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM movement with appendChild, inline</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
var script = testlib.addScript('log(\'head script #1\')', {}, document.getElementsByTagName('head')[0], true);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
try{
document.body.appendChild(script);
}catch(e){ log('ERROR - tested functionality not supported'); }
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'head script #1', 'end script #1', 'inline script #2' ]);
t.done();
}
onload = t.step_func(function(){
setTimeout(t.step_func(test), 200);
});
</script>
</body></html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM movement with appendChild, external</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
var script = testlib.addScript('', { 'src':'scripts/include-1.js' }, document.getElementsByTagName('head')[0], true);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
try{
document.body.appendChild(script);
}catch(e){ log('ERROR - tested functionality not supported'); }
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'end script #1', 'external script #1', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'external script #1']]);
t.done();
}
onload = function() {
setTimeout(t.step_func(test), 200);
};
</script>
</body></html>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: IFRAMEs added with DOM</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
for( var i=0; i<2; i++ ){
var iframe=document.createElement('iframe');
document.getElementsByTagName('div')[1].appendChild(iframe);
iframe.src='pages/helloworld.html?'+i+'&'+Math.random();
}
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [
['inline script #1', 'end script #1', 'inline script #2', 'frame/popup script 0', 'frame/popup script 1'],
['inline script #1', 'end script #1', 'inline script #2', 'frame/popup script 1', 'frame/popup script 0']]);
t.done();
}
onload = t.step_func(function() {
setTimeout(t.step_func(test), 200);
});
</script>
</body></html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: IFRAMEs added with DOM (innerHTML), javascript: URL</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
document.getElementsByTagName('div')[1].innerHTML = '<iframe src="javascript:parent.log(\'JS URL\');\'<html><script>parent.log(\\\'frame script\\\')<\/script></html>\'"></iframe>';
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [
['inline script #1', 'end script #1', 'JS URL', 'inline script #2', 'frame script'],
/* the following combination seems quite unlikely? */
['inline script #1', 'end script #1', 'JS URL', 'frame script', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'JS URL', 'frame script']]);
t.done();
}
onload = t.step_func(function(){
setTimeout(t.step_func(test), 200);
});
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write scripts that write scripts</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.write( '<script>log(\'inline with doc.write #1\'); document.write(\'<script src="scripts/include-4.js"><\\\/script>\');log(\'end inline with doc.write\');<\/script>' );
document.write( '<script src="scripts/include-1.js">log(\'ignore this\')<\/script>' );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'inline with doc.write #1', 'end inline with doc.write', 'end script #1', 'include-4 before doc write', 'include-4 after doc write', 'external script before doc write', 'document.write external script', 'external script after doc write', 'external script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM mutation events when adding scripts: DOMNodeInserted </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.addEventListener( 'DOMNodeInserted', function(){ log('DOMNodeInserted'); }, false );
testlib.addScript('log(\'head script #1\')', {}, document.getElementsByTagName('head')[0], false);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'head script #1', 'DOMNodeInserted', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM mutation events when adding external scripts: DOMNodeInserted </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.addEventListener( 'DOMNodeInserted', function(){ log('DOMNodeInserted'); }, false );
testlib.addScript('', { src: 'scripts/include-1.js' }, document.getElementsByTagName('head')[0], false);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'DOMNodeInserted', 'end script #1', 'external script #1', 'inline script #2'],
['inline script #1', 'DOMNodeInserted', 'end script #1', 'inline script #2', 'external script #1']]
);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM mutation events when adding scripts: DOMNodeInsertedIntoDocument </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('log(\'head script #1\')', {}, document.getElementsByTagName('head')[0], false, function(s){s.addEventListener( 'DOMNodeInsertedIntoDocument', function(){ log('DOMNodeInsertedIntoDocument'); }, false ); } );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'head script #1', 'DOMNodeInsertedIntoDocument', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: DOM mutation events when adding external scripts: DOMNodeInsertedIntoDocument </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('', {src:'scripts/include-1.js'}, document.getElementsByTagName('head')[0], false, function(s){s.addEventListener( 'DOMNodeInsertedIntoDocument', function(){ log('DOMNodeInsertedIntoDocument'); }, false);});
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
onload = t.step_func(function() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'DOMNodeInsertedIntoDocument', 'end script #1', 'external script #1', 'inline script #2'],
['inline script #1', 'DOMNodeInsertedIntoDocument', 'end script #1', 'inline script #2', 'external script #1']]);
t.done();
});
</script>
</body></html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: no readystatechange events when adding external scripts </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('', {src:'scripts/include-1.js', onreadystatechange:function() {log( 'readystatechange '+ this.readyState );}}, document.getElementsByTagName('head')[0], false );
log('end script #1');
</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #1']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: adding and removing external script </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=testlib.addScript('', {src:'scripts/include-1.js'}, document.getElementsByTagName('head')[0], false );
script.parentNode.removeChild(script);
log('end script #1');
</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #1']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: adding inline script which sets its own .src </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=testlib.addScript('log(\'HEAD script start\');document.getElementsByTagName(\'script\')[0].src=\'scripts/include-1.js\';log(\'HEAD script end\')', {}, document.getElementsByTagName('head')[0], true );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'HEAD script start', 'HEAD script end', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: adding external script but removeAttribute( src ) before it runs</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=testlib.addScript('log(\'HEAD script\');', { src:'scripts/include-1.js' }, document.getElementsByTagName('head')[0], false );
script.removeAttribute('src');
log('end script #1');
</script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #1']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: adding external script that removes all scripts from document</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=testlib.addScript('', { src:'scripts/include-5.js' }, document.getElementsByTagName('head')[0], false );
// caching might affect whether the below script runs or not. Adding Math.random() makes the test a bit more predictable? :-p
var script=testlib.addScript('', { src:'scripts/include-1.js?pipe=trickle(d1)&'+Math.random() }, document.getElementsByTagName('head')[0], false );
log('end script #1');
</script>
<script src="scripts/include-2.js?pipe=trickle(d4)"></script>
<script type="text/javascript">
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'include-5 before removing scripts', 'include-5 after removing scripts', 'external script #1', 'external script #2']),
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: interaction of parsing and script execution - script added through DOM</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
testlib.addScript('', { src: 'scripts/count-script-tags.js' }, document.body, true);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'end script #1', 'script tags in DOM: 5', 'inline script #2'],
['inline script #1', 'end script #1', 'inline script #2', 'script tags in DOM: 6']]);
t.done();
}
onload = function(){setTimeout(t.step_func(test), 100); }
</script>
</body></html>

View file

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: interaction of parsing and script execution - external script </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script src="scripts/count-script-tags.js"></script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['script tags in DOM: 4', 'inline script #2']);
t.done();
}
onload = t.step_func(function(){setTimeout(t.step_func(test), 100); })
</script>
</body>
</html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: adding external script that removes itself from document when loading</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=testlib.addScript('', { src:'scripts/include-1.js', onload:function() {this.parentNode.removeChild(this);log('removed ' + this.localName);} }, document.getElementsByTagName('body')[0], true );
log('end script #1');
</script>
<script src="scripts/include-2.js"></script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'end script #1', 'external script #1', 'removed script', 'external script #2', 'inline script #2'],
['inline script #1', 'end script #1', 'external script #2', 'external script #1', 'removed script', 'inline script #2'],
['inline script #1', 'end script #1', 'external script #2', 'inline script #2', 'external script #1', 'removed script']]
);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: removing newly inserted script from DOMNodeInserted handler - external script </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.addEventListener( 'DOMNodeInserted', function listener(e){
log('DOMNodeInserted event');
e.target.parentNode.removeChild(e.target);
document.removeEventListener('DOMNodeInserted', listener);
}, false );
var script=testlib.addScript('', { src:'scripts/include-1.js?'+Math.random() }, document.getElementsByTagName('body')[0], true );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'DOMNodeInserted event', 'end script #1', 'inline script #2', 'external script #1'],
['inline script #1', 'DOMNodeInserted event', 'end script #1', 'external script #1', 'inline script #2']]);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: removing newly inserted script from DOMNodeInserted handler - inline script </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
document.addEventListener( 'DOMNodeInserted', function listener(e){
log('DOMNodeInserted event');
e.target.parentNode.removeChild(e.target);
document.removeEventListener('DOMNodeInserted', listener);
}, false );
var script=testlib.addScript('log(\'added script\')', { }, document.getElementsByTagName('body')[0], true );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'added script', 'DOMNodeInserted event', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: appending code to initially empty SCRIPT tag in DOM </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3];
script.appendChild( document.createTextNode('log("injected script code");') );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
// Test asserts the injected script should run
assert_array_equals(eventOrder, ['inline script #1', 'injected script code', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: appending code to initially non-empty SCRIPT tag in DOM (whitespace only) </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>
</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3];
script.appendChild( document.createTextNode('log("injected script code");') );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body>
</html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: appending code to initially non-empty SCRIPT tag in DOM (comment only) </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>/**/</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3];
script.appendChild( document.createTextNode('log("injected script code");') );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: appending code to initially non-empty SCRIPT tag in DOM after removing its initial child </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>/**/</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3];
script.removeChild(script.firstChild);
script.appendChild( document.createTextNode('log("injected script code");') );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: appending code to initially non-empty SCRIPT tag in DOM after setting textContent/innerHTML</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>log('HEAD script');</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3];
script.innerHTML='';
script.appendChild( document.createTextNode('log("injected script code 1");') );
script.textContent='';
script.appendChild( document.createTextNode('log("injected script code 2");') );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['HEAD script', 'inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: cloneNode and script execution</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>log('HEAD script');</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3];
document.body.appendChild( script.cloneNode(true) );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['HEAD script', 'inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: cloneNode (shallow) and script execution</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>log('HEAD script');</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3];
document.body.appendChild( script.cloneNode(false) ).appendChild(document.createTextNode('log("clone");'));
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['HEAD script', 'inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: cloneNode (deep) of the currently executing script </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>log('HEAD script');
if( !window.already_cloned ){
window.already_cloned=true;
var script=document.getElementsByTagName('script')[3];
document.getElementsByTagName('head')[0].appendChild( script.cloneNode(true) );
}
</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['HEAD script', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: cloneNode with external script</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script src="scripts/include-1.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3];
document.body.appendChild( script.cloneNode(true) );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['external script #1', 'inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: cloneNode with external script, changed .src</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script src="scripts/include-1.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3].cloneNode(true);
script.src='scripts/include-2.js'
document.body.appendChild( script );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['external script #1', 'inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: cloneNode with external script, removing .src and adding content</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script src="scripts/include-1.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=document.getElementsByTagName('script')[3].cloneNode(true);
script.removeAttribute('src');
script.appendChild(document.createTextNode( 'log("cloned script");' ));
document.body.appendChild( script );
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['external script #1', 'inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: is a script with syntax error marked as "has run"? </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>setup({allow_uncaught_exception:true})
var t = async_test()
</script>
<script>
log(This script will never run..
</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>t.step(function() {
log('inline script #1');
var script=document.getElementsByTagName('script')[3].cloneNode(true);
script.removeChild(script.firstChild);
script.appendChild(document.createTextNode( 'log("cloned script");' ));
document.body.appendChild( script );
log('end script #1');
})
</script>
<script type="text/javascript">
t.step(function() {
log( 'inline script #2' );
});
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: external script and parsing of markup added with document.write </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>
log('inline script #1');
document.write('<script src="scripts/find-foo.js">log(\'inline code in external script (not expected to run!!)\')<\/script>' + '<div id="foo"></div>');
log('end script #1');
var t = async_test()
function test() {
if(!window.findFooLoaded) {
return setTimeout(t.step_func(test),200);
}
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'found #foo element: NO']);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html><head>
<title>scheduler: external files added through DOM should not block further parsing while loading</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>
testlib.addScript('',{src:'scripts/find-body.js?pipe=trickle(d1)'},document.getElementsByTagName('head')[0], true );
</script>
</head>
<body>
<script>
testlib.addScript('', {src:'scripts/find-foo.js?pipe=trickle(d1)'}, document.getElementsByTagName('head')[0], true);
</script>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<p><span id="foo"></span></p>
<script type="text/javascript">
var t = async_test()
function test() {
if(!(window.findFooLoaded && window.findBodyLoaded)) {
return setTimeout(t.step_func(test), 200);
}
assert_any(assert_array_equals, eventOrder,
[['document.body: <BODY>', 'found #foo element: YES'],
['found #foo element: YES', 'document.body: <BODY>']]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,48 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write into IFRAME a script that adds a SCRIPT through DOM</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe></iframe>
<script type="text/javascript">
var doc = document.getElementsByTagName('iframe')[0].contentDocument;
doc.open();
log("calling document.write");
doc.write('<script>top.log("inline script #1");'+
'var s=document.createElement("script");'+
's.src="scripts/include-6.js?'+new Date().getTime()+'";'+
'document.getElementsByTagName("head")[0].appendChild(s);'+
'<\/script>'+
'<div id="foo"></div>'+
'<script>top.log("inline script #2");<\/script>'
);
log("calling document.close");
doc.close();
var t = async_test()
function test() {
if(!window.include6Loaded) {
return setTimeout(t.step_func(test),200);
}
assert_array_equals(eventOrder, ['calling document.write', 'inline script #1', 'inline script #2', 'calling document.close', 'external script (#foo found? YES)']);
t.done();
}
onload = t.step_func(test)
</script>
</head>
</body>
</html>

View file

@ -0,0 +1,55 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write several scripts into IFRAME </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe style="width:1px;height:1px"></iframe>
<script type="text/javascript">
var doc = document.getElementsByTagName('iframe')[0].contentDocument;
doc.open();
var html = '<html><head><title>test</title></head>'+
'<script>top.log("inline script #1");'+
'<\/script>'+
/* made url unique because Chrome will change
order depending on file cached status */
'<script src="scripts/include-6.js?'+new Date().getTime()+'"><\/script>'+
'</head>'+
'<body>'+
'<div id="foo"></div>'+
'</body></html>'+
'<script>top.log("inline script #2");<\/script>';
log("calling document.write");
doc.write(html);
log("calling document.close");
doc.close();
var t = async_test()
function test() {
if( !window.include6Loaded )return setTimeout(t.step_func(test),200); // try checking again if external script didn't run yet
assert_array_equals(eventOrder, ['calling document.write',
'inline script #1',
'calling document.close',
'external script (#foo found? NO)',
'inline script #2'
]);
t.done();
}
onload = t.step_func(test)
</script>
</head>
</body>
</html>

View file

@ -0,0 +1,50 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write into IFRAME a script that creates new inline script in parent </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe style="width:1px;height:1px"></iframe>
<script type="text/javascript">
var doc = document.getElementsByTagName('iframe')[0].contentDocument;
doc.open();
var html = '<html><head><title>test</title></head>'+
'<script>top.log("inline script #1");'+
'<\/script>'+
'</head>'+
'<body>'+
'<div id="foo"></div>'+
'</body></html>'+
'<script>top.testlib.addScript( \'log("inline script added to parent")\', null, top.document.body, true )<\/script>';
log("calling document.write");
doc.write(html);
log("calling document.close");
doc.close();
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['calling document.write',
'inline script #1',
'inline script added to parent',
'calling document.close',
]);
t.done();
}
onload = t.step_func(test)
</script>
</head>
</body>
</html>

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write into IFRAME a script that creates new external script in parent </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe style="width:1px;height:1px"></iframe>
<script type="text/javascript">
var doc = document.getElementsByTagName('iframe')[0].contentDocument;
doc.open();
var html = '<html><head><title>test</title></head>'+
'<script>top.log("inline script #1");'+
'<\/script>'+
'</head>'+
'<body>'+
'<div id="foo"></div>'+
'</body></html>'+
'<script>top.testlib.addScript( \'\', { src:\'scripts/include-1.js\' }, top.document.body, true )<\/script>';
log("calling document.write");
doc.write(html);
log("calling document.close");
doc.close();
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['calling document.write',
'inline script #1',
'calling document.close',
'external script #1'
]);
t.done();
}
onload = t.step_func(test)
</script>
</head>
</body>
</html>

View file

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: document.write into IFRAME a script that creates new inline script in parent that again adds script to IFRAME </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe style="width:1px;height:1px"></iframe>
<script type="text/javascript">
var doc = document.getElementsByTagName('iframe')[0].contentDocument;
doc.open();
var str1='';
var html = '<html><head><title>test</title></head>'+
'<script>top.log("inline script #1");'+
'<\/script>'+
'</head>'+
'<body>'+
'<script>top.testlib.addScript( \'top.log("inline script added to parent");top.doc.write( "<script>top.log(\\\\"inline script added to iframe\\\\")<\\\/script>");\', null, top.document.body, true ) <\/script>'+
'</body></html>';
log("calling document.write");
doc.write(html);
log("calling document.close");
doc.close();
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['calling document.write',
'inline script #1',
'inline script added to parent',
'inline script added to iframe',
'calling document.close',
]);
t.done();
}
onload = t.step_func(test)
</script>
</head>
</body>
</html>

View file

@ -0,0 +1,42 @@
<!DOCTYPE html>
<html>
<head>
<title>dispatchEvent from child frame during document.write :-o </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body onclick="log('click event')">
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe></iframe>
<script>
var doc = document.getElementsByTagName("iframe")[0].contentDocument;
doc.open("text/html");
doc.write('<html><head><title>event dispatcher</title></head><body>Before script<script>top.log("inline script before event");var ev = parent.document.createEvent("MouseEvents");ev.initMouseEvent("click", true, false, null, 0, 0, 0, 0, 0, false, false, false, false, 0, null);parent.document.body.dispatchEvent(ev);top.log("inline script after event");</sc'+'ript> After script</body>');
log( 'end main script' );
</script>
<script>
var t = async_test()
function test() {
if(test.ran)return; test.ran=true;
assert_array_equals(eventOrder, ['inline script before event',
'click event',
'inline script after event',
'end main script'
]);
doc.close();
t.done();
}
onload = t.step_func(test)
/* onload doesn't fire in this test, a fallback.. */
setTimeout(t.step_func(test), 800 );
</script>
</body>
</html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: adding and removing external and inline scripts </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>log('inline script #1');
var script=testlib.addScript('', {src:'scripts/include-1.js', onload:function(e){ e.target.parentNode.removeChild(e.target); }}, document.getElementsByTagName('head')[0], false );
var script=testlib.addScript( 'log( "dynamically added inline script" )', null, document.getElementsByTagName('head')[0], false );
script.parentNode.removeChild(script);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
}
onload = t.step_func(function() {
assert_any(assert_array_equals, eventOrder, [['inline script #1', 'dynamically added inline script', 'end script #1', 'external script #1', 'inline script #2'],
['inline script #1', 'dynamically added inline script', 'end script #1', 'inline script #2', 'external script #1']]);
t.done();
})
</script>
</body></html>

View file

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<title> adding several types of scripts through the DOM and removing some of them confuses scheduler </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script type="text/javascript">
var head = document.getElementsByTagName('head')[0];
function createScript(url, contents) {
props = {};
if (url) {
props.src = url;
}
return testlib.addScript(contents, props, head, false);
}
var t = async_test()
function test() {
var script = createScript('data:text\/javascript,log("Script #1 ran")');
var script2 = createScript('','log("Script #2 ran")');
if(script2) {
head.removeChild(script2);
}
var script3 = createScript('data:text\/javascript, log("Script #3 ran"); createScript(\'\', \'log("Script #4 ran")\')');
if(script3) {
head.removeChild(script3);
}
setTimeout(t.step_func(function(){
assert_array_equals(eventOrder, ['Script #2 ran', 'Script #1 ran', 'Script #3 ran','Script #4 ran']);
t.done();
}), 400);
};
onload = t.step_func(test)
</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
</body>
</html*>

View file

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html>
<head>
<title> adding several types of scripts through the DOM and removing some of them confuses scheduler (slow-loading scripts) </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script type="text/javascript">
setup({ explicit_done: true });
var head = document.getElementsByTagName('head')[0];
function createScript(url, contents) {
props = {};
if (url) {
props.src = url;
}
return testlib.addScript(contents, props, head, false);
}
var t = async_test(undefined, { timeout: 10000 })
function test() {
document.getElementById("log").textContent = "Please wait..."
var url = 'scripts/include-1.js?pipe=trickle(d1)';
var script = createScript(url);
var script2 = createScript('', 'log("Script #2 ran")');
head.removeChild(script2);
var url = 'scripts/include-2.js?pipe=trickle(d2)';
var script3 = createScript(url);
head.removeChild(script3);
setTimeout(t.step_func(function () {
done();
assert_array_equals(eventOrder, ['Script #2 ran', 'external script #1', 'external script #2']);
t.done();
}), 5500);
};
onload = t.step_func(test)
</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
</body>
</html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<title> setting location to javascript URL from event handler </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script type="text/javascript">
log('inline script #1');
var t = async_test()
onload = t.step_func(function() {
log('onload handler');
document.getElementById("log").textContent = 'please wait...';
window.location='javascript:log("javascript: URL")';
setTimeout(t.step_func(function(){
log('timeout');
assert_array_equals(eventOrder, ['inline script #1', 'onload handler', 'onload ends', 'javascript: URL', 'timeout']);
t.done();
}), 200);
log('onload ends');
});
</script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
</body>
</html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title>scheduler: IFRAMEs added with DOM (appendChild), javascript: URL</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>log('inline script #1');
var iframe=document.createElement('iframe');
iframe.src='javascript:parent.log(\'JS URL\');\'<html><script>parent.log(\\\'frame script\\\')<\/script></html>\'';
document.getElementsByTagName('div')[1].appendChild(iframe);
log('end script #1');
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2', 'JS URL', 'frame script']);
t.done();
}
onload = t.step_func(function(){setTimeout(t.step_func(test), 400);})
</script>
</body></html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: slow loading external script added with DOM (appendChild)</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>
var t = async_test(undefined, {timeout:5000})
log('inline script #1');
testlib.addScript('', { src:'scripts/include-1.js?pipe=trickle(d1)&'+Math.random() }, document.getElementsByTagName('head')[0], false );
log('end script #1');
</script>
<script src="scripts/include-2.js"></script>
<script>
log( 'inline script #2' );
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'external script #2', 'inline script #2', 'external script #1']);
t.done();
}
onload = t.step_func(function() {
setTimeout(t.step_func(test), 12);
});
</script>
</body></html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: multiple slow loading external scripts added with DOM (appendChild)</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div></div>
<script>
log('inline script #1');
function scriptLoadListener(){
log( 'load on '+this.src.match( /include-\d\.js/ ) );
}
var script=testlib.addScript('', { src:'scripts/include-1.js?pipe=trickle(d1)&' + Math.random(), onload:scriptLoadListener }, document.getElementsByTagName('head')[0], false );
var script=testlib.addScript('', { src:'scripts/include-2.js?pipe=trickle(d3)&' + Math.random(), onload:scriptLoadListener }, document.getElementsByTagName('head')[0], false );
var script=testlib.addScript('', { src:'scripts/include-7.js?pipe=trickle(d2)&' + Math.random() , onload:scriptLoadListener }, document.getElementsByTagName('head')[0], false );
log('end script #1');
</script>
<script type="text/javascript">
log('inline script #2');
var t = async_test(undefined, {timeout:10000})
function test() {
assert_array_equals(eventOrder, ['inline script #1', 'end script #1', 'inline script #2', 'external script #1', 'load on include-1.js', 'external script #7', 'load on include-7.js', 'external script #2', 'load on include-2.js']);
t.done();
}
onload = function() {setTimeout(t.step_func(test), 12)};
</script>
</body></html>

View file

@ -0,0 +1,48 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: event listener defined by script in a document in history</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe src="about:blank"></iframe>
<script>
log('inline script #1');
function fireFooEvent(){
var evt=document.createEvent('Event');
evt.initEvent('foo', true, true);
document.dispatchEvent(evt);
}
var doc = frames[0].document;
doc.open('text/html');
doc.write('<script>top.log("IFRAME script");top.document.addEventListener("foo", function(e){ top.log("event: "+e.type); }, false)<\/script>');
log('end script #1');
</script>
<script>
fireFooEvent();
frames[0].location='about:blank'; // returning to about:blank should de-activate document that defined event listener..?
</script>
<script>
fireFooEvent();
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_equals(frames[0].location.toString(), "about:blank");
assert_array_equals(eventOrder, ['inline script #1',
'IFRAME script',
'end script #1',
'event: foo',
'inline script #2'
]);
t.done();
}
onload = function() {setTimeout(t.step_func(function() {fireFooEvent(); test()}), 80)};
</script>
</body></html>

View file

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: event listener defined by script in a removed IFRAME</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe src="about:blank"></iframe>
<script>
log('inline script #1');
function fireFooEvent(){
var evt=document.createEvent('Event');
evt.initEvent('foo', true, true);
document.dispatchEvent(evt);
}
var doc=frames[0].document;
doc.open( 'text/html' );
doc.write( '<script>top.log("IFRAME script");top.document.addEventListener("foo", function(e){ top.log("event: "+e.type); }, false)<\/script>' );
log('end script #1');
</script>
<script>
fireFooEvent();
frames[0].frameElement.parentNode.removeChild( frames[0].frameElement ); // removing the IFRAME should de-activate document that defined event listener..?
</script>
<script>
fireFooEvent();
</script>
<script type="text/javascript">
log( 'inline script #2' );
var t = async_test()
function test() {
assert_array_equals(eventOrder, ['inline script #1',
'IFRAME script',
'end script #1',
'event: foo',
'inline script #2'
]);
t.done();
}
onload = t.step_func(test)
</script>
</body></html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: async script and slow-loading defer script</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script src="scripts/include-1.js?pipe=trickle(d1)" defer></script>
<script src="scripts/include-2.js" async></script>
<script type="text/javascript">
var t = async_test();
function test() {
assert_array_equals(eventOrder, ['external script #2', 'external script #1']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: async script and slow-loading async script</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script src="scripts/include-1.js?pipe=trickle(d2)" async></script>
<script src="scripts/include-2.js" async></script>
<script type="text/javascript">
var t = async_test();
function test() {
assert_array_equals(eventOrder, ['external script #2', 'external script #1']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: multiple defer scripts, one slow loading</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script src="scripts/include-1.js?pipe=trickle(d2)" defer></script>
<script src="scripts/include-2.js" defer></script>
<script type="text/javascript">
var t = async_test();
function test() {
assert_array_equals(eventOrder, ['external script #1', 'external script #2']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: multiple scripts with defer and async attributes</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script src="scripts/include-1.js?pipe=trickle(d2)" defer async></script>
<script src="scripts/include-2.js" defer async></script>
<script type="text/javascript">
var t = async_test();
function test() {
assert_array_equals(eventOrder, ['external script #2', 'external script #1']);
t.done();
}
onload = t.step_func(test);
</script>
</body></html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: async attribute on inline script</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script async>
var t = async_test();
log('inline script #1');
t.step(function() {
assert_array_equals(eventOrder, ['inline script #1']);
});
</script>
<script async>
log('inline script #2');
t.step(function() {
assert_array_equals(eventOrder, ['inline script #1', 'inline script #2']);
});
</script>
<script>
log('inline script #3');
t.step(function() {
assert_array_equals(eventOrder, ['inline script #1', 'inline script #2', 'inline script #3']);
});
onload = function() {t.done()};
</script>
</body></html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: defer attribute on inline script</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script defer>
var t = async_test();
log('inline script #1');
t.step(function() {
assert_array_equals(eventOrder, ['inline script #1']);
});
</script>
<script defer>
log('inline script #2');
t.step(function() {
assert_array_equals(eventOrder, ['inline script #1', 'inline script #2']);
});
</script>
<script>
log('inline script #3');
t.step(function() {
assert_array_equals(eventOrder, ['inline script #1', 'inline script #2', 'inline script #3']);
});
onload = function() {t.done()};
</script>
</body></html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: force-async off on non-parser-inserted script</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>
var t = async_test(undefined, {timeout:4000});
sources = ["scripts/include-1.js?pipe=trickle(d2)", "scripts/include-2.js?pipe=trickle(d1)"];
sources.forEach(function(x) {
var script = document.createElement("script");
script.src = x;
t.step(function() {assert_equals(script.async, true, "async IDL attribute on script creation")});
script.async = false;
t.step(function() {assert_equals(script.async, false, "async IDL attribute after setting")});
t.step(function() {assert_equals(script.getAttribute("async"), null, "async content attribute after setting")});
document.head.appendChild(script);
});
onload = t.step_func(function() {
assert_array_equals(eventOrder, ['external script #1', 'external script #2']);
t.done();
});
</script>
</body></html>

View file

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: defer script and slow-loading non-async external script</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>
var t = async_test(undefined, {timeout:3500});
var script = document.createElement("script");
script.src = "scripts/include-2.js?pipe=trickle(d2)";
script.async = false;
document.head.appendChild(script);
onload = t.step_func(function() {
assert_array_equals(eventOrder, ['external script #1', 'external script #2']);
t.done();
});
</script>
<script defer src="scripts/include-1.js"></script>
</body></html>

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: parser-created defer script after document load</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe id="myFrame"></iframe>
<script>
var t = async_test(undefined, {timeout:3500});
onload = t.step_func(function() {
var doc = document.getElementById("myFrame").contentDocument;
var win = document.getElementById("myFrame").contentWindow;
doc.open();
doc.write("<title> scheduler: parser-created defer script after document load</title><script src='/resources/testharness.js'><\/script><script src='/resources/testharnessreport.js'><\/script><script src='testlib/testlib.js'><\/script><script>var t=async_test()<\/script><div id=log></div><script defer src='data:text/javascript,parent.t.done();'><\/script>");
doc.close();
})
</script>
</body></html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: slow-loading script added from defer blocking load event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>
var t = async_test(undefined, {timeout:3500});
function test() {
t.step(function() {
assert_array_equals(eventOrder, ['external script #8', 'external script #9']);
t.done();
});
}
//assert that the test is completed before onload fires
onload = t.step_func(function() {assert_unreached()});
</script>
<script defer src="scripts/include-8.js"></script>
</body></html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: defer script added from document.write relative to DOMContentLoaded</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>
log("inline script #1");
document.write("<script defer src='scripts/include-1.js'><\/script>")
</script>
<script>
log("inline script #2");
var t = async_test();
addEventListener("DOMContentLoaded", t.step_func(function() {
assert_array_equals(eventOrder, ["inline script #1", "inline script #2", "external script #1"]);
log("inline script #3");
}), false);
onload = t.step_func(function() {
assert_array_equals(eventOrder, ["inline script #1", "inline script #2", "external script #1", "inline script #3"]);
t.done();
});
</script>
</body></html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: slow-loading async script added from document.write</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>
log("inline script #1");
document.write("<script async src='scripts/include-1.js?pipe=trickle(d2)'><\/script>")
</script>
<script>
log("inline script #2");
var t = async_test(undefined, {timeout:3500});
addEventListener("DOMContentLoaded", t.step_func(function() {assert_array_equals(eventOrder, ["inline script #1", "inline script #2"])}), false);
onload = t.step_func(
function() {
assert_array_equals(eventOrder, ["inline script #1", "inline script #2", "external script #1"]);
t.done();
});
</script>
</body></html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: defer adding iframe containing script</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script defer src="scripts/include-11.js"></script>
<script>
var t = async_test();
onload = t.step_func(function() {assert_array_equals(eventOrder, ["external script before adding iframe", "script in iframe"]); t.done();});
</script>
</body>
</html>

View file

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: defer script after initial onload event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<iframe id="myFrame"></iframe>
<script>
var t = async_test();
onload = t.step_func(
function() {
var doc = document.getElementById("myFrame").contentDocument;
var win = document.getElementById("myFrame").contentWindow;
doc.open();
doc.write("<title> scheduler: defer script after initial onload event</title><script src='testlib/testlib.js'><\/script><div id='log'>document.written content</div><script>log('inline script #1');<\/script><script src='scripts/include-1.js'><\/script><script defer src='scripts/include-2.js'><\/script>");
doc.close();
//Note that the *window* object has changed but the *global scope* of the script has not.
var run_t = window.t.step_func(function() {
if (!win.eventOrder || win.eventOrder.length != 3) {
window.setTimeout(run_t, 100);
return;
}
window.assert_array_equals(win.eventOrder, ['inline script #1', 'external script #1', 'external script #2']);
window.t.done();
});
run_t();
});
</script>
</body>
</html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html><head>
<title> scheduler: defer script after initial onload event</title>
</head>
<body>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
<script>
onload = function() {
document.open();
document.write("<title> scheduler: defer script after initial onload event</title><script src='/resources/testharness.js'><\/script><script src='/resources/testharnessreport.js'><\/script><script src='testlib/testlib.js'><\/script><div id='log'>document.written content</div><script>var t = async_test(); log('inline script #1')<\/script><script src='scripts/include-1.js'><\/script><script async src='scripts/include-2.js'><\/script>");
document.close();
window.setTimeout(function() {
window.t.step(function() {
window.assert_any(window.assert_array_equals, window.eventOrder,
[['inline script #1', 'external script #1', 'external script #2'],
['inline script #1', 'external script #2', 'external script #1']]);
window.t.done();
})},
1000);
};
</script>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show more