Made isObjectLiteral to work correctly with custom objects with empty prototypes.

This commit is contained in:
Robert Katic 2009-11-12 12:50:40 +08:00 committed by John Resig
parent 1ce92e022d
commit 990d9ca1b0
2 changed files with 14 additions and 3 deletions

View file

@ -553,10 +553,14 @@ test("jQuery.extend(Object, Object)", function() {
same( empty.foo, optionsWithDate.foo, "Dates copy correctly" );
var myKlass = function() {};
var optionsWithCustomObject = { foo: { date: new myKlass } };
empty = {};
jQuery.extend(true, empty, optionsWithCustomObject);
same( empty.foo, optionsWithCustomObject.foo, "Custom objects copy correctly (no methods)" );
// Makes the class a little more realistic
myKlass.prototype = { someMethod: function(){} };
empty = {};
var optionsWithCustomObject = { foo: { date: new myKlass } };
jQuery.extend(true, empty, optionsWithCustomObject);
same( empty.foo, optionsWithCustomObject.foo, "Custom objects copy correctly" );