aboutsummaryrefslogtreecommitdiffstats
path: root/version.txt
diff options
context:
space:
mode:
authorJohn Resig <jeresig@gmail.com>2010-10-12 21:51:44 -0400
committerJohn Resig <jeresig@gmail.com>2010-10-12 21:51:44 -0400
commit2ef8da0924623a9bdede9eeed17ec848859844b7 (patch)
tree5b799528b8778c8dc70ce8ba7962487ae0be9d19 /version.txt
parent783bb2a85fe33d00e82f40c8dab484e1cf0c63a1 (diff)
parent1518ae1aedaafa820ed689ecf26cf43e92913896 (diff)
downloadjquery-2ef8da0924623a9bdede9eeed17ec848859844b7.tar.gz
jquery-2ef8da0924623a9bdede9eeed17ec848859844b7.zip
Merge branch 'bug7150' of http://github.com/csnover/jquery
Diffstat (limited to 'version.txt')
0 files changed, 0 insertions, 0 deletions
='n104' href='#n104'>104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
( function() {

requirejs.config({
	paths: {
		"globalize": "../../../external/globalize/globalize",
		"globalize/ja-JP": "../../../external/globalize/globalize.culture.ja-JP",
		"jquery": jqueryUrl(),
		"jquery-simulate": "../../../external/jquery-simulate/jquery.simulate",
		"jshint": "../../../external/jshint/jshint",
		"lib": "../../lib",
		"phantom-bridge": "../../../node_modules/grunt-contrib-qunit/phantomjs/bridge",
		"qunit-assert-classes": "../../../external/qunit-assert-classes/qunit-assert-classes",
		"qunit-assert-close": "../../../external/qunit-assert-close/qunit-assert-close",
		"qunit": "../../../external/qunit/qunit",
		"testswarm": "http://swarm.jquery.org/js/inject.js?" + (new Date()).getTime(),
		"ui": "../../../ui"
	},
	shim: {
		"globalize/ja-JP": [ "globalize" ],
		"jquery-simulate": [ "jquery" ],
		"qunit-assert-close": [ "qunit" ],
		"testswarm": [ "qunit" ]
	}
});

// Create a module that disables back compat for UI modules
define( "jquery-no-back-compat", [ "jquery" ], function( $ ) {
	$.uiBackCompat = false;

	return $;
} );

// Create a dummy bridge if we're not actually testing in PhantomJS
if ( !/PhantomJS/.test( navigator.userAgent ) ) {
	define( "phantom-bridge", function() {} );
}

// Load all modules in series
function requireModules( dependencies, callback, modules ) {
	if ( !dependencies.length ) {
		if ( callback ) {
			callback.apply( null, modules );
		}
		return;
	}

	if ( !modules ) {
		modules = [];
	}

	var dependency = dependencies.shift();
	require( [ dependency ], function( module ) {
		modules.push( module );
		requireModules( dependencies, callback, modules );
	} );
}

// Load a set of test file along with the required test infrastructure
function requireTests( dependencies, noBackCompat ) {
	dependencies = [
		"lib/qunit",
		noBackCompat ? "jquery-no-back-compat" : "jquery",
		"jquery-simulate"
	].concat( dependencies );

	// Load the TestSwarm injector, if necessary
	if ( parseUrl().swarmURL ) {
		dependencies.push( "testswarm" );
	}

	requireModules( dependencies, function( QUnit ) {
		QUnit.start();
	} );
}

// Parse the URL into key/value pairs
function parseUrl() {
	var data = {};
	var parts = document.location.search.slice( 1 ).split( "&" );
	var length = parts.length;
	var i = 0;
	var current;

	for ( ; i < length; i++ ) {
		current = parts[ i ].split( "=" );
		data[ current[ 0 ] ] = current[ 1 ];
	}

	return data;
}

function jqueryUrl() {
	var version = parseUrl().jquery;
	var url;

	if ( version === "git" || version === "compat-git" ) {
		url = "http://code.jquery.com/jquery-" + version;
	} else {
		url = "../../../external/jquery-" + ( version || "1.11.3" ) + "/jquery";
	}

	return url;
}

// Load test modules based on data attributes
// - data-modules: list of test modules to load
// - data-widget: A widget to load test modules for
//   - Automatically loads common, core, events, methods, and options
// - data-deprecated: Loads the deprecated test modules for a widget
// - data-no-back-compat: Set $.uiBackCompat to false
(function() {

	// Find the script element
	var scripts = document.getElementsByTagName( "script" );
	var script = scripts[ scripts.length - 1 ];

	// Read the modules
	var modules = script.getAttribute( "data-modules" );
	if ( modules ) {
		modules = modules
			.replace( /^\s+|\s+$/g, "" )
			.split( /\s+/ );
	} else {
		modules = [];
	}
	var widget = script.getAttribute( "data-widget" );
	var deprecated = !!script.getAttribute( "data-deprecated" );
	var noBackCompat = !!script.getAttribute( "data-no-back-compat" );

	if ( widget ) {
		modules = modules.concat([
			( deprecated ? "common-deprecated" : "common" ),
			"core",
			"events",
			"methods",
			"options"
		]);
		if ( deprecated ) {
			modules = modules.concat( "deprecated" );
		}
	}

	requireTests( modules, noBackCompat );
} )();

} )();