blob: 922786e7d69cb2a9449a6b93656a7a1473772d29 [file]
import {CacheObject} from '../cache-object.js';
suite('CacheObject', () => {
let cacheObj: CacheObject;
setup(() => {
cacheObj = new CacheObject('cacheObjectTest');
});
teardown(() => {
cacheObj.clear();
});
test('read with empty cache returns empty object', () => {
assert.deepEqual(cacheObj.read(), {});
});
test('read with corrupted cache returns empty object', () => {
cacheObj.write({a: 1});
localStorage.setItem(cacheObj.key, '1');
assert.deepEqual(cacheObj.read(), {});
});
test('write followed by read succeeds', () => {
cacheObj.write({a: 1});
assert.deepEqual(cacheObj.read(), {a: 1});
});
test('write then read by second CacheObject succeeds', () => {
cacheObj.write({a: 1});
const obj2 = new CacheObject('cacheObjectTest');
assert.deepEqual(obj2.read(), {a: 1});
});
test('write then clear then read yields empty object', () => {
cacheObj.write({a: 1});
cacheObj.clear();
assert.deepEqual(cacheObj.read(), {});
});
test('write with a non-object throws an error', () => {
assert.throws(
() => cacheObj.write([]), 'obj parameter value is not an Object');
});
});