diff --git a/test/deepFreeze/deepFreeze.test.js b/test/deepFreeze/deepFreeze.test.js index ca1166920..60c2717c0 100644 --- a/test/deepFreeze/deepFreeze.test.js +++ b/test/deepFreeze/deepFreeze.test.js @@ -4,3 +4,32 @@ const deepFreeze = require('./deepFreeze.js'); test('deepFreeze is a Function', () => { expect(deepFreeze).toBeInstanceOf(Function); }); + +test('modifying deeply freezed object prop throws an error in strict mode', () => { + let freezedObj = deepFreeze({a: 42}); + + expect(() => { + 'use strict'; + freezedObj.a = 24; + }).toThrow(); +}); + +test('should not modify deeply freezed object inside another object', () => { + let freezedObj = deepFreeze({ + a: { + b: 42 + } + }); + + freezedObj.a.b = 16; + + expect(freezedObj.a.b).toBe(42); +}); + +test('should not add prop to deeply freezed empty object', () => { + let freezedObj = deepFreeze({}); + + freezedObj.a = 42; + + expect(freezedObj).toEqual({}); +});