libcore
Version:
Kicks-start helpers for cross-browser libraries and different versions of nodejs
67 lines (54 loc) • 2.33 kB
JavaScript
;
import createRegistry from '../../registry';
describe(`Removes registry [value] indexed with [name] using
registryInstance.unset(name:String|Number)`,
() => {
var registry;
beforeEach(() => {
registry = createRegistry();
registry.assign({
"name": "diko",
"0": [{
"id": 101,
"value": 19,
"label": "nineteen"
}],
"2": [{
"id": 10,
"value": 68,
"label": "sixty eight"
}],
"next": function () {
return true;
}
});
});
it(`1. Should throw error if given [name] parameter is not String,
Number, Object or Array.`,
() => {
expect(() => registry.unset(null)).toThrow();
expect(() => registry.unset(new Date())).toThrow();
expect(() => registry.unset(NaN)).toThrow();
expect(() => registry.unset(true)).toThrow();
});
it(`2. Should remove [value] indexed with String [name] parameter
returning registry object.`,
() => {
expect(registry.exists("name")).toBe(true);
expect(registry.exists("next")).toBe(true);
expect(() => registry.unset("name")).not.toThrow();
expect(registry.unset("next")).toBe(registry);
expect(registry.exists("name")).toBe(false);
expect(registry.exists("next")).toBe(false);
});
it(`3. Should remove [value] indexed with Number [name] parameter
returning registry object.`,
() => {
expect(registry.exists(0)).toBe(true);
expect(registry.exists(2)).toBe(true);
expect(() => registry.unset(0)).not.toThrow();
expect(registry.unset(2)).toBe(registry);
expect(registry.exists(0)).toBe(false);
expect(registry.exists(2)).toBe(false);
});
});