Updated the test system
This commit is contained in:
35
test/deepFreeze.test.js
Normal file
35
test/deepFreeze.test.js
Normal file
@ -0,0 +1,35 @@
|
||||
const expect = require('expect');
|
||||
const {deepFreeze} = require('./_30s.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({});
|
||||
});
|
||||
Reference in New Issue
Block a user