<!DOCTYPE html>
<html><head>
	<title> scheduler: DOM movement with appendChild, external</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>
	<div></div>
	<script>log('inline script #1');
		var script = testlib.addScript('', { 'src':'scripts/include-1.js' }, document.getElementsByTagName('head')[0], true);
		log('end script #1');
	</script>

	<script type="text/javascript">
	log( 'inline script #2' );
	try{
		document.body.appendChild(script);
	}catch(e){ log('ERROR - tested functionality not supported'); }
	var t = async_test()

	function test() {
		assert_any(assert_array_equals, eventOrder, [['inline script #1', 'end script #1', 'external script #1', 'inline script #2'],
                                                             ['inline script #1', 'end script #1', 'inline script #2', 'external script #1']]);
		t.done();
}
	onload = function() {
		setTimeout(t.step_func(test), 200);
	};
	</script>

</body></html>
