test/prefix.test.ts
import {
setPrefix,
keys as getKeys,
getPrefixedKey,
set,
flush,
sadd,
getAll,
} from '../src';
describe('Lockr#prefix', function() {
it('should set a prefix', function() {
expect(setPrefix('imaprefix')).toEqual('imaprefix');
});
it('should return a correctly prefixed key', function() {
expect(getPrefixedKey('lalala')).toEqual('imaprefixlalala');
});
it('should return a non-prefixed key', function() {
expect(getPrefixedKey('lalala', { noPrefix: true })).toEqual('lalala');
});
it('should save a key-value pair, prefixed', function() {
set('justlikeyou', true);
expect('imaprefixjustlikeyou' in localStorage).toEqual(true);
});
it('gets Lockr keys (with prefix)', function() {
flush();
localStorage.setItem('zero', '0');
set('one', 1);
set('two', 2);
set('three', 3);
set('four', 4);
var keys = getKeys();
expect(keys.length).toBe(4);
expect(keys).toMatchObject({});
});
describe('flush', function() {
it('clears all contents of the localStorage with prefix', function() {
localStorage.setItem('noprefix', 'false');
set('test', 123);
sadd('array', 2);
sadd('array', 3);
set('hash', { test: 123, hey: 'whatsup' });
var oldContents = getAll();
var keys = Object.keys(localStorage);
expect(oldContents.length).not.toBe(0);
expect(keys).toContain('noprefix');
flush();
expect(keys).toContain('noprefix');
var contents = getAll();
expect(contents.length).toBe(0);
});
});
});