31 lines
964 B
JavaScript
Executable File
31 lines
964 B
JavaScript
Executable File
'use strict';
|
|
|
|
import chai from 'chai';
|
|
const assert = chai.assert;
|
|
import Misc from '../../lib/utils/misc.js';
|
|
|
|
describe('Misc Utils', () => {
|
|
|
|
it('should check if object has propety', () => {
|
|
assert.isTrue(Misc.has({ foo: 'bar' }, 'foo'));
|
|
assert.isTrue(Misc.has({ 'foo': 'bar' }, 'foo'));
|
|
assert.isTrue(Misc.has({ foo: null }, 'foo'));
|
|
assert.isFalse(Misc.has({ foo: 'bar' }, 'bar'));
|
|
assert.isFalse(Misc.has(123, 'bar'));
|
|
assert.isFalse(Misc.has('123', 'bar'));
|
|
});
|
|
|
|
it('should extends objects', () => {
|
|
let obj_1 = { a: 'a', b: 'b' };
|
|
let obj_2 = { b: 2, c: 'c' };
|
|
let result = Misc.extends(obj_1, obj_2);
|
|
|
|
assert.isObject(result);
|
|
assert.containsAllKeys(result, ['a', 'b', 'c']);
|
|
assert.isTrue(result.a === obj_1.a);
|
|
assert.isTrue(result.b === obj_2.b);
|
|
assert.isTrue(result.c === obj_1.c);
|
|
});
|
|
|
|
});
|