aboutsummaryrefslogtreecommitdiffstats
path: root/test/jquery.js
blob: faebaaed0e5ed07f2cdd7713c97dda3cdcf1de7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Use the right jQuery source on the test page (and iframes)
(function() {
	/* global loadTests: true, testSubproject: false */
	/* jshint eqeqeq: false */

	var i, len,
		// Parent is the current window if not an iframe, which is fine
		src = /^(.*)test\//.exec( parent.location.pathname )[1],
		QUnit = QUnit || parent.QUnit,
		require = require || parent.require;

	// Config parameter to force basic code paths
	QUnit.config.urlConfig.push({
		id: "basic",
		label: "Bypass optimizations",
		tooltip: "Force use of the most basic code by disabling native querySelectorAll; contains; compareDocumentPosition"
	});
	if ( QUnit.urlParams.basic ) {
		document.querySelectorAll = null;
		document.documentElement.contains = null;
		document.documentElement.compareDocumentPosition = null;
	}

	// iFrames won't load AMD (the iframe tests synchronously expect jQuery to be there)
	QUnit.config.urlConfig.push({
		id: "amd",
		label: "Load with AMD",
		tooltip: "Load the AMD jQuery file (and its dependencies)"
	});
	if ( QUnit.urlParams.amd && parent == window ) {
		require.config({ baseUrl: src });
		src = "src/jquery";
		// Include tests if specified
		if ( typeof loadTests !== "undefined" ) {
			QUnit.config.autostart = false;
			require( [ src ], function() {
				// Ensure load order (to preserve test numbers)
				(function loadDep() {
					var dep = loadTests.shift();
					if ( dep ) {
						require( [ dep ], loadDep );
					} else {
						// Subproject tests must be last because they replace our test fixture
						testSubproject( "Sizzle", "../bower_components/sizzle/test/", /^unit\/.*\.js$/ );

						QUnit.start();
					}
				})();
			});
		} else {
			require( [ src ] );
		}
		return;
	}

	// Config parameter to use minified jQuery
	QUnit.config.urlConfig.push({
		id: "dev",
		label: "Load unminified",
		tooltip: "Load the development (unminified) jQuery file"
	});
	if ( QUnit.urlParams.dev ) {
		src += "dist/jquery.js";
	} else {
		src += "dist/jquery.min.js";
	}

	// Load jQuery
	document.write( "<script id='jquery-js' src='" + src + "'><\x2Fscript>" );

	// Load tests synchronously if available
	if ( typeof loadTests !== "undefined" ) {
		for ( i = 0, len = loadTests.length; i < len; i++ ) {
			document.write( "<script src='" + loadTests.shift() + "'><\x2Fscript>" );
		}
	}
})();