| 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'); |
| }); |
| }); |