Core: expose noConflict in AMD mode

- For compability reasons, we had already added the global
  in AMD mode, but without noConflict. This adds back noConflict
  to AMD (which fixes noConflict mode in the tests).

Fixes gh-2930
This commit is contained in:
Timmy Willison 2016-08-15 11:41:11 -04:00
parent 560c0c6f99
commit 52e24471c8
No known key found for this signature in database
GPG Key ID: F50CDDF42C347961
5 changed files with 24 additions and 32 deletions

View File

@ -17,7 +17,6 @@ module.exports = function( grunt ) {
read = function( fileName ) {
return grunt.file.read( srcFolder + fileName );
},
globals = read( "exports/global.js" ),
wrapper = read( "wrapper.js" ).split( /\/\/ \@CODE\n\/\/[^\n]+/ ),
config = {
baseUrl: "src",
@ -39,10 +38,7 @@ module.exports = function( grunt ) {
skipSemiColonInsertion: true,
wrap: {
start: wrapper[ 0 ].replace( /\/\*\s*eslint(?: |-).*\s*\*\/\n/, "" ),
end: globals.replace(
/\/\*\s*ExcludeStart\s*\*\/[\w\W]*?\/\*\s*ExcludeEnd\s*\*\//ig,
""
) + wrapper[ 1 ]
end: wrapper[ 1 ]
},
rawText: {},
onBuildWrite: convert

View File

@ -1,10 +1,8 @@
/* ExcludeStart */
define( [
"../core"
], function( jQuery, noGlobal ) {
// This file is included in a different way from all the others
// so the "use strict" pragma is not needed.
/* eslint strict: "off" */
/* ExcludeEnd */
"use strict";
var
@ -32,3 +30,5 @@ jQuery.noConflict = function( deep ) {
if ( !noGlobal ) {
window.jQuery = window.$ = jQuery;
}
} );

5
src/jquery.js vendored
View File

@ -30,11 +30,12 @@ define( [
"./offset",
"./dimensions",
"./deprecated",
"./exports/amd"
"./exports/amd",
"./exports/global"
], function( jQuery ) {
"use strict";
return ( window.jQuery = window.$ = jQuery );
return jQuery;
} );

View File

@ -320,9 +320,7 @@ this.loadTests = function() {
/**
* Run in noConflict mode
*/
if ( jQuery.noConflict ) {
jQuery.noConflict();
}
jQuery.noConflict();
// Load the TestSwarm listener if swarmURL is in the address.
if ( QUnit.isSwarm ) {

View File

@ -197,27 +197,24 @@ QUnit.test( "globalEval execution after script injection (#7862)", function( ass
assert.ok( window.strictEvalTest - now < 500, "Code executed synchronously" );
} );
// This is not run in AMD mode
if ( jQuery.noConflict ) {
QUnit.test( "noConflict", function( assert ) {
assert.expect( 7 );
QUnit.test( "noConflict", function( assert ) {
assert.expect( 7 );
var $$ = jQuery;
var $$ = jQuery;
assert.strictEqual( jQuery, jQuery.noConflict(), "noConflict returned the jQuery object" );
assert.strictEqual( window[ "jQuery" ], $$, "Make sure jQuery wasn't touched." );
assert.strictEqual( window[ "$" ], original$, "Make sure $ was reverted." );
assert.strictEqual( jQuery, jQuery.noConflict(), "noConflict returned the jQuery object" );
assert.strictEqual( window[ "jQuery" ], $$, "Make sure jQuery wasn't touched." );
assert.strictEqual( window[ "$" ], original$, "Make sure $ was reverted." );
jQuery = $ = $$;
jQuery = $ = $$;
assert.strictEqual( jQuery.noConflict( true ), $$, "noConflict returned the jQuery object" );
assert.strictEqual( window[ "jQuery" ], originaljQuery, "Make sure jQuery was reverted." );
assert.strictEqual( window[ "$" ], original$, "Make sure $ was reverted." );
assert.ok( $$().pushStack( [] ), "Make sure that jQuery still works." );
assert.strictEqual( jQuery.noConflict( true ), $$, "noConflict returned the jQuery object" );
assert.strictEqual( window[ "jQuery" ], originaljQuery, "Make sure jQuery was reverted." );
assert.strictEqual( window[ "$" ], original$, "Make sure $ was reverted." );
assert.ok( $$().pushStack( [] ), "Make sure that jQuery still works." );
window[ "jQuery" ] = jQuery = $$;
} );
}
window[ "jQuery" ] = jQuery = $$;
} );
QUnit.test( "trim", function( assert ) {
assert.expect( 13 );