Skip to content
Permalink
Browse files

Adds test for jQuery.extend deep copy with array, followed by object.…

… Refutes and Closes #1154
  • Loading branch information...
rwaldron committed Feb 3, 2013
1 parent d12b26c commit ed0e2d1e8a5005a80d0dd127dc4019f696471ad6
Showing with 21 additions and 0 deletions.
  1. +21 −0 test/unit/core.js
@@ -1019,6 +1019,27 @@ test("jQuery.extend(Object, Object)", function() {
deepEqual( options2, options2Copy, "Check if not modified: options2 must not be modified" );
});

test("jQuery.extend(true,{},{a:[], o:{}}); deep copy with array, followed by object", function() {
expect(2);

var result, initial = {
// This will make "copyIsArray" true
array: [ 1, 2, 3, 4 ],
// If "copyIsArray" doesn't get reset to false, the check
// will evaluate true and enter the array copy block
// instead of the object copy block. Since the ternary in the
// "copyIsArray" block will will evaluate to false
// (check if operating on an array with ), this will be
// replaced by an empty array.
object: {}
};

result = jQuery.extend( true, {}, initial );

deepEqual( result, initial, "The [result] and [initial] have equal shape and values" );
ok( !jQuery.isArray( result.object ), "result.object wasn't paved with an empty array" );
});

test("jQuery.each(Object,Function)", function() {
expect( 23 );

0 comments on commit ed0e2d1

Please sign in to comment.
You can’t perform that action at this time.