diff --git a/src/node.js b/src/node.js index 1e091d0289..c8f55c6b07 100644 --- a/src/node.js +++ b/src/node.js @@ -137,7 +137,7 @@ process.mixin = function() { , copy ); // Don't bring in undefined values - else if ( copy !== undefined ) + else target[ name ] = copy; } diff --git a/test/mjsunit/test-process-mixin.js b/test/mjsunit/test-process-mixin.js index 840079a35d..f3578251a2 100644 --- a/test/mjsunit/test-process-mixin.js +++ b/test/mjsunit/test-process-mixin.js @@ -13,4 +13,10 @@ var fakeDomElement = {deep: {nodeType: 4}}; target = {}; process.mixin(true, target, fakeDomElement); -assert.notStrictEqual(target.deep, fakeDomElement.deep); \ No newline at end of file +assert.notStrictEqual(target.deep, fakeDomElement.deep); + +var objectWithUndefinedValue = {foo: undefined}; +target = {}; + +process.mixin(target, objectWithUndefinedValue); +assert.ok(target.hasOwnProperty('foo')); \ No newline at end of file