From 9748e436ad80d6a2e1661ba4cf8d7391ed87c3ad Mon Sep 17 00:00:00 2001 From: Connor Atherton Date: Fri, 25 Sep 2015 12:02:53 -0700 Subject: [PATCH] Tests: Add .extend test for defined accessor properties Closes gh-2615 --- test/unit/core.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/unit/core.js b/test/unit/core.js index a899e1365..407ae7e2c 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -1080,6 +1080,29 @@ QUnit.test( "jQuery.extend(Object, Object)", function( assert ) { assert.deepEqual( options2, options2Copy, "Check if not modified: options2 must not be modified" ); } ); +QUnit.test( "jQuery.extend(Object, Object {created with \"defineProperties\"})", function( assert ) { + assert.expect( 2 ); + + var definedObj = Object.defineProperties({}, { + "enumerableProp": { + get: function () { + return true; + }, + enumerable: true + }, + "nonenumerableProp": { + get: function () { + return true; + } + } + }), + accessorObj = {}; + + jQuery.extend( accessorObj, definedObj ); + assert.equal( accessorObj.enumerableProp, true, "Verify that getters are transferred" ); + assert.equal( accessorObj.nonenumerableProp, undefined, "Verify that non-enumerable getters are ignored" ); +} ); + QUnit.test( "jQuery.extend(true,{},{a:[], o:{}}); deep copy with array, followed by object", function( assert ) { assert.expect( 2 );