Skip to content

Commit

Permalink
tests for some bugs in deepEqual
Browse files Browse the repository at this point in the history
  • Loading branch information
James Halliday committed Jun 6, 2011
1 parent f5d429a commit 2b15a41
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions test/equal.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,71 @@ exports.deepEqual = function () {
));
};

exports.falsy = function () {
assert.ok(!traverse.deepEqual(
[ undefined ],
[ null ],
'null is not undefined!'
));

assert.ok(!traverse.deepEqual(
[ null ],
[ undefined ],
'undefined is not null!'
));

assert.ok(!traverse.deepEqual(
{ a : 1, b : 2, c : [ 3, undefined, 5 ] },
{ a : 1, b : 2, c : [ 3, null, 5 ] },
'undefined is not null, however deeply!'
));

assert.ok(!traverse.deepEqual(
{ a : 1, b : 2, c : [ 3, undefined, 5 ] },
{ a : 1, b : 2, c : [ 3, null, 5 ] },
'null is not undefined, however deeply!'
));

assert.ok(!traverse.deepEqual(
{ a : 1, b : 2, c : [ 3, undefined, 5 ] },
{ a : 1, b : 2, c : [ 3, null, 5 ] },
'null is not undefined, however deeply!'
));

var xs = [ 1, 2, 3, 4 ];
delete xs[2];

assert.ok(traverse.deepEqual(
xs,
[ 1, 2, undefined, 4 ],
'deleted array elements can be undefined'
));

assert.ok(!traverse.deepEqual(
xs,
[ 1, 2, null, 4 ],
'deleted array elements cannot be null'
));

var obj = { a : 1, b : 2, c : 3 };
delete obj.c;

assert.ok(traverse.deepEqual(
obj, { a : 1, b : 2 },
'deleted object elements should not show up'
));

assert.ok(!traverse.deepEqual(
obj, { a : 1, b : 2, c : undefined },
'deleted object elements are not undefined'
));

assert.ok(!traverse.deepEqual(
obj, { a : 1, b : 2, c : null },
'deleted object elements are not null'
));
};

exports.deepArguments = function () {
assert.ok(!traverse.deepEqual(
[ 4, 5, 6 ],
Expand Down

0 comments on commit 2b15a41

Please sign in to comment.