From 3a80de1c7a67fc48908b37cfbd8806a265488723 Mon Sep 17 00:00:00 2001
From: Ariel Flesler <aflesler@gmail.com>
Date: Sun, 3 May 2009 15:57:25 +0000
Subject: [PATCH] jquery core: $() -> $(document) and $(undefined) -> $([]).
 Removed a duplicated block.

---
 src/core.js       |    8 +-------
 test/unit/core.js |   20 +++++++++++++-------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/src/core.js b/src/core.js
index 86c9982..23b4a57 100644
--- a/src/core.js
+++ b/src/core.js
@@ -18,7 +18,7 @@ var window = this,
 
 	jQuery = window.jQuery = window.$ = function( selector, context ) {
 		// The jQuery object is actually just the init constructor 'enhanced'
-		return selector === undefined ?
+		return arguments.length === 0 ?
 			rootjQuery :
 			new jQuery.fn.init( selector, context );
 	},
@@ -36,12 +36,6 @@ var window = this,
 	// Save a reference to the core toString method
 	toString = Object.prototype.toString;
 
-// Define the main jQuery method
-jQuery = window.jQuery = window.$ = function( selector, context ) {
-	// The jQuery object is actually just the init constructor 'enhanced'
-	return new jQuery.fn.init( selector, context );
-};
-
 jQuery.fn = jQuery.prototype = {
 	init: function( selector, context ) {
 		var match, elem, ret;
diff --git a/test/unit/core.js b/test/unit/core.js
index 939e1b8..c51f053 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -12,8 +12,19 @@ test("Basic requirements", function() {
 });
 
 test("jQuery()", function() {
-	expect(8);
-
+	expect(11);
+
+	// Basic constructor's behavior
+	
+	equals( jQuery().length, 1, "jQuery() === jQuery(document)" );
+	equals( jQuery(undefined).length, 0, "jQuery(undefined) === jQuery([])" );
+	equals( jQuery(null).length, 0, "jQuery(null) === jQuery([])" );
+	equals( jQuery("").length, 0, "jQuery('') === jQuery([])" );
+		
+		// can actually yield more than one, when iframes are included, the window is an array as well
+	equals( 1, jQuery(window).length, "Correct number of elements generated for jQuery(window)" );
+	
+	
 	var main = jQuery("#main");
 	isSet( jQuery("div p", main).get(), q("sndp", "en", "sap"), "Basic selector with jQuery object as context" );
 
@@ -42,11 +53,6 @@ test("jQuery()", function() {
 	var div = jQuery("<div/><hr/><code/><b/>");
 	equals( div.length, 4, "Correct number of elements generated for div hr code b" );
 
-	// can actually yield more than one, when iframes are included, the window is an array as well
-	equals( jQuery(window).length, 1, "Correct number of elements generated for window" );
-
-	equals( jQuery(document).length, 1, "Correct number of elements generated for document" );
-
 	equals( jQuery([1,2,3]).get(1), 2, "Test passing an array to the factory" );
 
 	equals( jQuery(document.body).get(0), jQuery('body').get(0), "Test passing an html node to the factory" );
-- 
1.7.10.4