<!doctype html>
<html lang="en" id="html">
<head>
	<meta charset="utf-8">
	<title>jQuery Test Suite</title>
	<link rel="stylesheet" href="../external/qunit/qunit.css" />
	<link rel="stylesheet" href="data/testsuite.css" />

	<!--
		We have to use previous jQuery as helper to ensure testability with
		ajax-free builds (and non-interference when changing ajax internals)
	-->
	<script src="data/jquery-1.9.1.js"></script>

	<script src="../external/qunit/qunit.js"></script>
	<script src="../external/sinon/sinon.js"></script>
	<script src="../external/npo/npo.js"></script>
	<script src="../external/requirejs/require.js"></script>
	<!-- See testinit for the list of tests -->
	<script src="data/testinit.js"></script>

	<!-- A script that includes jQuery min, dev, or AMD -->
	<!-- Adds "basic" URL option, even to iframes -->
	<!-- iframes will not load AMD as loading needs to be synchronous for some tests -->
	<!-- Also executes the function above to load tests -->
	<script src="jquery.js"></script>

	<script>
		// Load tests if they have not been loaded
		// This is in a different script tag to ensure that
		// jQuery is on the page when the testrunner executes
		// QUnit.config is populated from QUnit.urlParams but only at the beginning
		// of the test run. We need to read both.
		var amd = QUnit.config.amd || QUnit.urlParams.amd;

		// Workaround: Remove call to `window.__karma__.loaded()`
		// in favour of calling `window.__karma__.start()` from `loadTests()`
		// because tests such as unit/ready.js should run after document ready.
		if ( !amd ) {
			loadTests();
		}
	</script>
</head>

<body id="body">
	<div id="qunit"></div>

	<!-- Test HTML -->
	<!-- this iframe is outside the #qunit-fixture so it won't waste time by constantly reloading; the tests are "safe" and clean up after themselves -->
	<iframe id="loadediframe" name="loadediframe" style="display:none;" src="data/iframe.html"></iframe>
	<div id="qunit-fixture"></div>
	<script src="data/qunit-fixture.js"></script>
</body>
</html>
