From: Yehuda Katz Date: Fri, 17 Jul 2009 17:33:44 +0000 (+0000) Subject: Add test for jQuery(jQueryObj) cloning and simplify new get() code X-Git-Url: http://git.asbjorn.it/?p=jquery.git;a=commitdiff_plain;h=1a7f72e7fe96654838074f88c79e021d37c5c30a Add test for jQuery(jQueryObj) cloning and simplify new get() code --- diff --git a/src/core.js b/src/core.js index 267bc10..a74f0fe 100644 --- a/src/core.js +++ b/src/core.js @@ -43,9 +43,8 @@ jQuery.fn = jQuery.prototype = { // Handle $(DOMElement) if ( selector.nodeType ) { - this[0] = selector; + this.context = this[0] = selector; this.length++; - this.context = selector; return this; } @@ -132,7 +131,7 @@ jQuery.fn = jQuery.prototype = { this.toArray() : // Return just the object - ( num < 0 ? this.toArray.call(this, num)[0] : this[ num ] ); + ( num < 0 ? this.toArray(num)[ 0 ] : this[ num ] ); }, // Take an array of elements and push it onto the stack diff --git a/test/unit/core.js b/test/unit/core.js index 8aa883a..28be653 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -12,7 +12,7 @@ test("Basic requirements", function() { }); test("jQuery()", function() { - expect(11); + expect(12); // Basic constructor's behavior @@ -21,6 +21,9 @@ test("jQuery()", function() { equals( jQuery(null).length, 0, "jQuery(null) === jQuery([])" ); equals( jQuery("").length, 0, "jQuery('') === jQuery([])" ); + var obj = jQuery("div") + equals( jQuery(obj).selector, "div", "jQuery(jQueryObj) == jQueryObj" ); + // 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)" );