aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/unit/core.js23
1 files changed, 23 insertions, 0 deletions
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 );