From b3c0a7f71d0b351755b97858ad47de4e9a373606 Mon Sep 17 00:00:00 2001 From: Scott González Date: Fri, 21 Apr 2017 14:49:52 -0400 Subject: Widget: Handle `Object.create(null)` for options objects Fixes #15179 Closes gh-1809 --- tests/unit/widget/extend.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'tests/unit/widget') diff --git a/tests/unit/widget/extend.js b/tests/unit/widget/extend.js index 36575200b..b27d925f0 100644 --- a/tests/unit/widget/extend.js +++ b/tests/unit/widget/extend.js @@ -5,7 +5,7 @@ define( [ ], function( QUnit, $ ) { QUnit.test( "$.widget.extend()", function( assert ) { - assert.expect( 27 ); + assert.expect( 28 ); var ret, empty, optionsWithLength, optionsWithDate, myKlass, customObject, optionsWithCustomObject, nullUndef, target, recursive, obj, input, output, @@ -108,6 +108,11 @@ QUnit.test( "$.widget.extend()", function( assert ) { assert.deepEqual( input, output, "don't clone arrays" ); input.key[ 0 ] = 10; assert.deepEqual( input, output, "don't clone arrays" ); + + input = Object.create( null ); + input.foo = "f"; + output = $.widget.extend( {}, input ); + assert.deepEqual( input, output, "Object with no prototype" ); } ); } ); -- cgit v1.2.3