From: Ariel Flesler Date: Tue, 12 Aug 2008 19:34:30 +0000 (+0000) Subject: jquery core: closes #3248, #3079, #3026, #3176, #3202, #3129. jQuery.makeArray doesn... X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=1023cf1d72a3bfe56cbbf8ef89ad96725639e066;hp=c9c024280abd20b4eef4a2dc280fa7f1d7be02f9;p=jquery.git jquery core: closes #3248, #3079, #3026, #3176, #3202, #3129. jQuery.makeArray doesn't support functions anymore. Voiding the conflict with Scriptaculous 1.7.x. --- diff --git a/src/core.js b/src/core.js index bcb9af8..d910f99 100644 --- a/src/core.js +++ b/src/core.js @@ -1125,13 +1125,15 @@ jQuery.extend({ return (text || "").replace( /^\s+|\s+$/g, "" ); }, + // NOTE: Due to the conflict with Scriptaculous (http://dev.jquery.com/ticket/3248) + // We remove support for functions since jQuery 1.3 makeArray: function( array ) { var ret = []; if( array != null ){ var i = array.length; - //the window, strings and functions also have 'length' - if( i == null || array.split || array.setInterval || array.call ) + // The window, strings (and functions) also have 'length' + if( i == null || array.split || array.setInterval ) ret[0] = array; else while( i ) diff --git a/test/unit/core.js b/test/unit/core.js index 165d8d1..002b130 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -1684,7 +1684,7 @@ test("contents()", function() { }); test("jQuery.makeArray", function(){ - expect(15); + expect(14); equals( jQuery.makeArray(jQuery('html>*'))[0].nodeName, "HEAD", "Pass makeArray a jQuery object" ); @@ -1708,8 +1708,11 @@ test("jQuery.makeArray", function(){ ok( !!jQuery.makeArray( document.documentElement.childNodes ).slice(0,1)[0].nodeName, "Pass makeArray a childNodes array" ); - //function, is tricky as it has length - equals( jQuery.makeArray( function(){ return 1;} )[0](), 1, "Pass makeArray a function" ); + // function, is tricky as it has length + // NOTE: Due to the conflict with Scriptaculous (http://dev.jquery.com/ticket/3248) + // We remove support for functions since jQuery 1.3 + //equals( jQuery.makeArray( function(){ return 1;} )[0](), 1, "Pass makeArray a function" ); + //window, also has length equals( jQuery.makeArray(window)[0], window, "Pass makeArray the window" );