diff --git a/test/jquery.js b/test/jquery.js index 8119d3fc0..e337a7940 100644 --- a/test/jquery.js +++ b/test/jquery.js @@ -2,21 +2,35 @@ ( function() { /* global loadTests: false */ - var src, - path = window.location.pathname.split( "test" )[ 0 ], + var path = window.location.pathname.split( "test" )[ 0 ], QUnit = window.QUnit || parent.QUnit, - require = window.require || parent.require; + require = window.require || parent.require, - // 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)" - } ); + // Default to unminified jQuery for directly-opened iframes + urlParams = QUnit ? + QUnit.urlParams : + { dev: true }, + src = urlParams.dev ? + "dist/jquery.js" : + "dist/jquery.min.js"; - // If QUnit is on window, this is the main window - // This detection allows AMD tests to be run in an iframe - if ( QUnit.urlParams.amd && window.QUnit ) { + // Define configuration parameters controlling how jQuery is loaded + if ( QUnit ) { + QUnit.config.urlConfig.push( { + id: "amd", + label: "Load with AMD", + tooltip: "Load the AMD jQuery file (and its dependencies)" + } ); + QUnit.config.urlConfig.push( { + id: "dev", + label: "Load unminified", + tooltip: "Load the development (unminified) jQuery file" + } ); + } + + // Honor AMD loading on the main window (detected by seeing QUnit on it). + // This doesn't apply to iframes because they synchronously expect jQuery to be there. + if ( urlParams.amd && window.QUnit ) { require.config( { baseUrl: path } ); @@ -28,28 +42,15 @@ } 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"; + // Otherwise, load synchronously } else { - src = "dist/jquery.min.js"; - } + document.write( "