aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit/core.js
diff options
context:
space:
mode:
authorYehuda Katz <wycats@gmail.com>2009-07-16 07:32:03 +0000
committerYehuda Katz <wycats@gmail.com>2009-07-16 07:32:03 +0000
commitc10f87120f6fb2c6c269e766d6988e9be946dd03 (patch)
treebf957aeff0632f79411a946d83cd494c900b4a87 /test/unit/core.js
parent8d52c27808a77f51d1cf42c7e738b0b356466c1a (diff)
downloadjquery-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.js14
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");