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