forked from stenciljs/core
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstorage.spec.ts
More file actions
57 lines (46 loc) · 1.86 KB
/
storage.spec.ts
File metadata and controls
57 lines (46 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import { MockWindow } from '../window';
describe('storage', () => {
let win: MockWindow;
beforeEach(() => {
win = new MockWindow();
});
it('localStorage should return proper values', () => {
expect(win.localStorage.getItem('key')).toEqual(null);
win.localStorage.setItem('key', null);
expect(win.localStorage.getItem('key')).toEqual('null');
win.localStorage.setItem('key', undefined);
expect(win.localStorage.getItem('key')).toEqual('null');
win.localStorage.setItem('key', 12 as any);
expect(win.localStorage.getItem('key')).toEqual('12');
win.localStorage.setItem('key', 'value');
expect(win.localStorage.getItem('key')).toEqual('value');
});
it('should remove value', () => {
win.localStorage.setItem('key', 'value');
win.localStorage.removeItem('key');
expect(win.localStorage.getItem('key')).toEqual(null);
});
it('should not crash if removing twice', () => {
win.localStorage.setItem('key', 'value');
win.localStorage.removeItem('key');
win.localStorage.removeItem('key');
win.localStorage.removeItem('foo');
expect(win.localStorage.getItem('key')).toEqual(null);
expect(win.localStorage.getItem('foo')).toEqual(null);
});
it('should clear all', () => {
win.localStorage.setItem('key', 'value');
win.localStorage.setItem('foo', 'bar');
expect(win.localStorage.getItem('key')).toEqual('value');
expect(win.localStorage.getItem('foo')).toEqual('bar');
win.localStorage.clear();
expect(win.localStorage.getItem('key')).toEqual(null);
expect(win.localStorage.getItem('foo')).toEqual(null);
});
it('should cast keys to string all', () => {
win.localStorage.setItem('12', 'value');
win.localStorage.setItem(12 as any, 'bar');
expect(win.localStorage.getItem('12')).toEqual('bar');
expect(win.localStorage.getItem(12 as any)).toEqual('bar');
});
});