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