<!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>