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