UNPKG

@schukai/monster

Version:

Monster is a simple library for creating fast, robust and lightweight websites.

51 lines (34 loc) 1.16 kB
import {expect} from "chai" import {deepFreeze} from "../../../source/util/freeze.mjs"; describe('deepFreeze', function () { describe('deepFreeze an object', function () { it('should freeze object', function () { let obj1 = { a: { b: { c:1 } } }; let obj2 = { a: { b: { c:2 } } }; expect(obj2).to.not.eql(obj1) obj1.a.b.c = 2; expect(obj2).to.eql(obj1); const obj1Freezed = deepFreeze(obj1); expect(obj2).to.eql(obj1Freezed); try { // https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze // no change to the object, exception depends on mode (strict ES 2015, etc) obj1Freezed.a.b.c = 3 } catch (_) { } expect(obj2).to.eql(obj1Freezed); }); }); });