jquery core: $() -> $(document) and $(undefined) -> $([]). Removed a duplicated block.
authorAriel Flesler <aflesler@gmail.com>
Sun, 3 May 2009 15:57:25 +0000 (15:57 +0000)
committerAriel Flesler <aflesler@gmail.com>
Sun, 3 May 2009 15:57:25 +0000 (15:57 +0000)
src/core.js
test/unit/core.js

index 86c9982..23b4a57 100644 (file)
@@ -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;
index 939e1b8..c51f053 100644 (file)
@@ -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" );