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