Skip to content

Commit

Permalink
Adds test for jQuery.extend deep copy with array, followed by object.…
Browse files Browse the repository at this point in the history
… Refutes and Closes jquery#1154
  • Loading branch information
rwaldron committed Feb 3, 2013
1 parent d12b26c commit ed0e2d1
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions test/unit/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 );

Expand Down

0 comments on commit ed0e2d1

Please sign in to comment.