diff options
author | Yehuda Katz <wycats@gmail.com> | 2009-07-16 07:32:03 +0000 |
---|---|---|
committer | Yehuda Katz <wycats@gmail.com> | 2009-07-16 07:32:03 +0000 |
commit | c10f87120f6fb2c6c269e766d6988e9be946dd03 (patch) | |
tree | bf957aeff0632f79411a946d83cd494c900b4a87 /test/unit/core.js | |
parent | 8d52c27808a77f51d1cf42c7e738b0b356466c1a (diff) | |
download | jquery-c10f87120f6fb2c6c269e766d6988e9be946dd03.tar.gz jquery-c10f87120f6fb2c6c269e766d6988e9be946dd03.zip |
jQuery.extend(true, Object, Object) copies custom objects correctly.
- Also update jQuery.isObject to handle this case correctly
Diffstat (limited to 'test/unit/core.js')
-rw-r--r-- | test/unit/core.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/test/unit/core.js b/test/unit/core.js index fe2e992a8..0f6d5b34e 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -435,7 +435,7 @@ test("jQuery.merge()", function() { }); test("jQuery.extend(Object, Object)", function() { - expect(21); + expect(23); var settings = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, options = { xnumber2: 1, xstring2: "x", xxx: "newstring" }, @@ -463,9 +463,19 @@ test("jQuery.extend(Object, Object)", function() { var empty = {}; var optionsWithLength = { foo: { length: -1 } }; jQuery.extend(true, empty, optionsWithLength); - isObj( empty.foo, optionsWithLength.foo, "The length property must copy correctly" ); + empty = {}; + var optionsWithDate = { foo: { date: new Date } }; + jQuery.extend(true, empty, optionsWithDate); + isObj( empty.foo, optionsWithDate.foo, "Dates copy correctly" ); + + var myKlass = function() {}; + empty = {}; + var optionsWithCustomObject = { foo: { date: new myKlass } }; + jQuery.extend(true, empty, optionsWithCustomObject); + isObj( empty.foo, optionsWithCustomObject.foo, "Custom objects copy correctly" ); + var nullUndef; nullUndef = jQuery.extend({}, options, { xnumber2: null }); ok( nullUndef.xnumber2 === null, "Check to make sure null values are copied"); |