From 0bfadd591921c6d7156a80315fc8e4698f601bab Mon Sep 17 00:00:00 2001 From: Chris Barber Date: Sat, 8 Apr 2017 03:41:47 -0500 Subject: [PATCH] v4.0.2. Fixed bug when trying to gawk process.env. --- package.json | 2 +- src/index.js | 2 +- test/test-object.js | 11 +++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a8c6513..54e4c70 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gawk", - "version": "4.0.1", + "version": "4.0.2", "description": "Observable JavaScript object model", "main": "./dist/index.js", "author": "Chris Barber (https://github.com/cb1kenobi)", diff --git a/src/index.js b/src/index.js index f2d0e57..c6abbb7 100644 --- a/src/index.js +++ b/src/index.js @@ -141,7 +141,7 @@ export default function gawk(value, parent) { } // only objects can be gawked - if (!value || typeof value !== 'object') { + if (!value || typeof value !== 'object' || value === process.env) { return value; } diff --git a/test/test-object.js b/test/test-object.js index bd157fd..bd88942 100644 --- a/test/test-object.js +++ b/test/test-object.js @@ -70,6 +70,17 @@ describe('gawk() object', () => { expect(gobj).to.not.equal(emitter); }); + it('should not gawk process.env', () => { + const gobj = gawk(process.env); + expect(gobj).not.to.have.property('__gawk__'); + expect(isGawked(gobj)).to.be.false; + }); + + it('should gawk clone of process.env', () => { + const gobj = gawk(Object.assign({}, process.env)); + expect(isGawked(gobj)).to.be.true; + }); + it('should not allow __gawk__ to be set', () => { const gobj = gawk({}); expect(isGawked(gobj)).to.be.true;