Ticket #4227: extend_object_with_length.patch
File extend_object_with_length.patch, 1.7 KB (added by , 13 years ago) |
---|
-
jquery/test/unit/core.js
404 404 }); 405 405 406 406 test("jQuery.extend(Object, Object)", function() { 407 expect(2 0);407 expect(21); 408 408 409 409 var settings = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, 410 410 options = { xnumber2: 1, xstring2: "x", xxx: "newstring" }, … … 461 461 jQuery.extend(func, { key: "value" } ); 462 462 equals( func.key, "value", "Verify a function can be extended" ); 463 463 464 var ret = jQuery.extend(true, {},{ foo: { length: 'bar'} }); 465 ok( !jQuery.isArray( ret ), "Should not convert an ofject with a length property to an array, for #4227" ); 466 464 467 var defaults = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, 465 468 defaultsCopy = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, 466 469 options1 = { xnumber2: 1, xstring2: "x" }, -
jquery/src/core.js
235 235 if ( deep && copy && typeof copy === "object" && !copy.nodeType ) 236 236 target[ name ] = jQuery.extend( deep, 237 237 // Never move original objects, clone them 238 src || ( copy.length != null? [ ] : { } )238 src || ( jQuery.isArray( copy ) ? [ ] : { } ) 239 239 , copy ); 240 240 241 241 // Don't bring in undefined values … … 442 442 opera: /opera/.test( userAgent ), 443 443 msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ), 444 444 mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) 445 }; 446 No newline at end of file 445 };