jquery core: closes #3248, #3079, #3026, #3176, #3202, #3129. jQuery.makeArray doesn...
authorAriel Flesler <aflesler@gmail.com>
Tue, 12 Aug 2008 19:34:30 +0000 (19:34 +0000)
committerAriel Flesler <aflesler@gmail.com>
Tue, 12 Aug 2008 19:34:30 +0000 (19:34 +0000)
src/core.js
test/unit/core.js

index bcb9af8..d910f99 100644 (file)
@@ -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 )
index 165d8d1..002b130 100644 (file)
@@ -1684,7 +1684,7 @@ test("contents()", function() {
 });\r
 \r
 test("jQuery.makeArray", function(){\r
-       expect(15);\r
+       expect(14);\r
 \r
        equals( jQuery.makeArray(jQuery('html>*'))[0].nodeName, "HEAD", "Pass makeArray a jQuery object" );\r
 \r
@@ -1708,8 +1708,11 @@ test("jQuery.makeArray", function(){
 \r
        ok( !!jQuery.makeArray( document.documentElement.childNodes ).slice(0,1)[0].nodeName, "Pass makeArray a childNodes array" );\r
 \r
-       //function, is tricky as it has length\r
-       equals( jQuery.makeArray( function(){ return 1;} )[0](), 1, "Pass makeArray a function" );\r
+       // function, is tricky as it has length\r
+       // NOTE: Due to the conflict with Scriptaculous (http://dev.jquery.com/ticket/3248)\r
+       // We remove support for functions since jQuery 1.3\r
+       //equals( jQuery.makeArray( function(){ return 1;} )[0](), 1, "Pass makeArray a function" );\r
+       \r
        //window, also has length\r
        equals( jQuery.makeArray(window)[0], window, "Pass makeArray the window" );\r
 \r