From: Jörn Zaefferer Date: Thu, 24 Apr 2008 21:23:36 +0000 (+0000) Subject: jquery core: Patch from #2619 applied, making makeArray more flexible and faster... X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=f8e5fd6fef68d243d22c593584aaf4ee549ed30c jquery core: Patch from #2619 applied, making makeArray more flexible and faster; removed hint to ticket from (previously failing) test --- diff --git a/src/core.js b/src/core.js index 6308a99..072642f 100644 --- a/src/core.js +++ b/src/core.js @@ -1123,12 +1123,13 @@ jQuery.extend({ makeArray: function( array ) { var ret = []; - // Need to use typeof to fight Safari childNodes crashes - if ( array.constructor != Array ) - for ( var i = 0, length = array.length; i < length; i++ ) - ret.push( array[ i ] ); - else - ret = array.slice( 0 ); + if( array != undefined ) + //strings and functions also have 'length' + if( array.length != undefined && !array.split && !array.call ) + for( var i = array.length; i; ) + ret[--i] = array[i]; + else + ret[0] = array; return ret; }, diff --git a/test/unit/core.js b/test/unit/core.js index 412ba39..b79b8cb 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -1562,7 +1562,7 @@ test("contents()", function() { equals( c[0].nodeValue, "hi", "Check node,textnode,comment contents is just the one from span" ); }); -test("makeArray(#2619)", function(){ +test("$.makeArray", function(){ expect(11); equals( $.makeArray(document.getElementsByName("PWD")).slice(0,1)[0].name, "PWD", "Pass makeArray a nodelist" );