From 1023cf1d72a3bfe56cbbf8ef89ad96725639e066 Mon Sep 17 00:00:00 2001 From: Ariel Flesler Date: Tue, 12 Aug 2008 19:34:30 +0000 Subject: [PATCH] jquery core: closes #3248, #3079, #3026, #3176, #3202, #3129. jQuery.makeArray doesn't support functions anymore. Voiding the conflict with Scriptaculous 1.7.x. --- src/core.js | 6 ++++-- test/unit/core.js | 9 ++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) 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" ); -- 1.7.10.4