diff options
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | src/core.js | 14 | ||||
-rw-r--r-- | src/exports.js | 22 | ||||
-rw-r--r-- | src/outro.js | 3 | ||||
-rw-r--r-- | test/index.html | 2 | ||||
-rw-r--r-- | test/unit/core.js | 8 | ||||
-rw-r--r-- | test/unit/exports.js | 7 |
7 files changed, 35 insertions, 24 deletions
@@ -27,7 +27,8 @@ BASE_FILES = ${SRC_DIR}/core.js\ ${SRC_DIR}/ajax/xhr.js\ ${SRC_DIR}/effects.js\ ${SRC_DIR}/offset.js\ - ${SRC_DIR}/dimensions.js + ${SRC_DIR}/dimensions.js\ + ${SRC_DIR}/exports.js MODULES = ${SRC_DIR}/intro.js\ ${BASE_FILES}\ diff --git a/src/core.js b/src/core.js index bc728ee90..e56394bf6 100644 --- a/src/core.js +++ b/src/core.js @@ -934,20 +934,6 @@ function doScrollCheck() { jQuery.ready(); } -// Expose jQuery as an AMD module, but only for AMD loaders that -// understand the issues with loading multiple versions of jQuery -// in a page that all might call define(). The loader will indicate -// they have special allowances for multiple jQuery versions by -// specifying define.amd.jQuery = true. Register as a named module, -// since jQuery can be concatenated with other files that may use define, -// but not use a proper concatenation script that understands anonymous -// AMD modules. A named AMD is safest and most robust way to register. -// Lowercase jquery is used because AMD module names are derived from -// file names, and jQuery is normally delivered in a lowercase file name. -if ( typeof define === "function" && define.amd && define.amd.jQuery ) { - define( "jquery", [], function () { return jQuery; } ); -} - return jQuery; })(); diff --git a/src/exports.js b/src/exports.js new file mode 100644 index 000000000..7d8964f01 --- /dev/null +++ b/src/exports.js @@ -0,0 +1,22 @@ +(function( jQuery ) { + +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +// Expose jQuery as an AMD module, but only for AMD loaders that +// understand the issues with loading multiple versions of jQuery +// in a page that all might call define(). The loader will indicate +// they have special allowances for multiple jQuery versions by +// specifying define.amd.jQuery = true. Register as a named module, +// since jQuery can be concatenated with other files that may use define, +// but not use a proper concatenation script that understands anonymous +// AMD modules. A named AMD is safest and most robust way to register. +// Lowercase jquery is used because AMD module names are derived from +// file names, and jQuery is normally delivered in a lowercase file name. +// Do this after creating the global so that if an AMD module wants to call +// noConflict to hide this version of jQuery, it will work. +if ( typeof define === "function" && define.amd && define.amd.jQuery ) { + define( "jquery", [], function () { return jQuery; } ); +} + +})( jQuery ); diff --git a/src/outro.js b/src/outro.js index 64ef28ed3..ac484391c 100644 --- a/src/outro.js +++ b/src/outro.js @@ -1,3 +1,2 @@ -// Expose jQuery to the global object -window.jQuery = window.$ = jQuery; + })( window ); diff --git a/test/index.html b/test/index.html index e6cbc013f..0d518f1ac 100644 --- a/test/index.html +++ b/test/index.html @@ -28,6 +28,7 @@ <script src="../src/effects.js"></script> <script src="../src/offset.js"></script> <script src="../src/dimensions.js"></script> + <script src="../src/exports.js"></script> <script src="data/versioncheck.js"></script> @@ -51,6 +52,7 @@ <script src="unit/effects.js"></script> <script src="unit/offset.js"></script> <script src="unit/dimensions.js"></script> + <script src="unit/exports.js"></script> <script> // html5shiv, enabling HTML5 elements to be used with jQuery diff --git a/test/unit/core.js b/test/unit/core.js index 24da8db6c..d8906b89f 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -225,12 +225,6 @@ test("browser", function() { }); } -test("amdModule", function() { - expect(1); - - equal( jQuery, amdDefined, "Make sure defined module matches jQuery" ); -}); - test("noConflict", function() { expect(7); @@ -534,7 +528,7 @@ test("isXMLDoc - HTML", function() { test("XSS via location.hash", function() { expect(1); - + stop(); jQuery._check9521 = function(x){ ok( x, "script called from #id-like selector with inline handler" ); diff --git a/test/unit/exports.js b/test/unit/exports.js new file mode 100644 index 000000000..c78b57250 --- /dev/null +++ b/test/unit/exports.js @@ -0,0 +1,7 @@ +module("exports", { teardown: moduleTeardown }); + +test("amdModule", function() { + expect(1); + + equal( jQuery, amdDefined, "Make sure defined module matches jQuery" ); +}); |