From: John Resig <jeresig@gmail.com>
Date: Sat, 20 Oct 2007 22:04:06 +0000 (+0000)
Subject: Added a fix for .noConflict(true) not reverting properly. Also added unit tests for... 
X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;h=1ac9d6fbeed214d59ea5c31a87ff2c19bb08dbc8;p=jquery.git

Added a fix for .noConflict(true) not reverting properly. Also added unit tests for noConflict.
---

diff --git a/src/core.js b/src/core.js
index 5221b7b..7b97646 100644
--- a/src/core.js
+++ b/src/core.js
@@ -10,8 +10,8 @@
  */
 
 // Map over jQuery in case of overwrite
-if ( typeof jQuery != "undefined" )
-	var _jQuery = jQuery;
+if ( window.jQuery )
+	var _jQuery = window.jQuery;
 
 var jQuery = window.jQuery = function( selector, context ) {
 	// If the context is a namespace object, return a new object
@@ -21,8 +21,8 @@ var jQuery = window.jQuery = function( selector, context ) {
 };
 
 // Map over the $ in case of overwrite
-if ( typeof $ != "undefined" )
-	var _$ = $;
+if ( window.$ )
+	var _$ = window.$;
 	
 // Map the jQuery namespace to the '$' one
 window.$ = jQuery;
diff --git a/test/index.html b/test/index.html
index 7d60e09..00ca904 100644
--- a/test/index.html
+++ b/test/index.html
@@ -4,6 +4,7 @@
 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 	<title>jQuery Test Suite</title>
 	<link rel="Stylesheet" media="screen" href="data/testsuite.css" />
+	<script>var jQuery = "jQuery", $ = "$"; // For testing .noConflcit()</script>
 	<script type="text/javascript" src="../dist/jquery.js"></script>
 	<script type="text/javascript" src="data/testrunner.js"></script>
 	<script type="text/javascript" src="unit/core.js"></script>
diff --git a/test/unit/core.js b/test/unit/core.js
index f5fc895..5101f81 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -38,6 +38,27 @@ test("$()", function() {
 	equals( div.length, 4, "Correct number of elements generated for div hr code b" );
 });
 
+test("noConflict", function() {
+	expect(6);
+	
+	var old = jQuery;
+	var newjQuery = jQuery.noConflict();
+
+	ok( newjQuery == old, "noConflict returned the jQuery object" );
+	ok( jQuery == old, "Make sure jQuery wasn't touched." );
+	ok( $ == "$", "Make sure $ was reverted." );
+
+	jQuery = $ = old;
+
+	newjQuery = jQuery.noConflict(true);
+
+	ok( newjQuery == old, "noConflict returned the jQuery object" );
+	ok( jQuery == "jQuery", "Make sure jQuery was reverted." );
+	ok( $ == "$", "Make sure $ was reverted." );
+
+	jQuery = $ = old;
+});
+
 test("isFunction", function() {
 	expect(21);