jest-webextension-mock 3.8.16 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/__tests__/storage.test.js +1 -1
- package/dist/setup.js +42 -0
- package/package.json +1 -1
- package/src/storage.js +42 -0
package/CHANGELOG.md
CHANGED
|
@@ -11,7 +11,7 @@ describe('browser.storage', () => {
|
|
|
11
11
|
});
|
|
12
12
|
|
|
13
13
|
describe('browser.storage', () => {
|
|
14
|
-
['sync', 'local', 'managed'].forEach((type) => {
|
|
14
|
+
['sync', 'local', 'managed', 'session'].forEach((type) => {
|
|
15
15
|
describe(type, () => {
|
|
16
16
|
const storage = browser.storage[type];
|
|
17
17
|
describe('get', () => {
|
package/dist/setup.js
CHANGED
|
@@ -365,6 +365,48 @@ var storage = {
|
|
|
365
365
|
}),
|
|
366
366
|
onChanged: createEventListeners()
|
|
367
367
|
},
|
|
368
|
+
session: {
|
|
369
|
+
get: jest.fn(function (id, cb) {
|
|
370
|
+
var result = id === null || id === undefined ? localStore : resolveKey(id, localStore);
|
|
371
|
+
if (cb !== undefined) {
|
|
372
|
+
return cb(result);
|
|
373
|
+
}
|
|
374
|
+
return Promise.resolve(result);
|
|
375
|
+
}),
|
|
376
|
+
getBytesInUse: jest.fn(function (id, cb) {
|
|
377
|
+
if (cb !== undefined) {
|
|
378
|
+
return cb(0);
|
|
379
|
+
}
|
|
380
|
+
return Promise.resolve(0);
|
|
381
|
+
}),
|
|
382
|
+
set: jest.fn(function (payload, cb) {
|
|
383
|
+
Object.keys(payload).forEach(function (key) {
|
|
384
|
+
return localStore[key] = payload[key];
|
|
385
|
+
});
|
|
386
|
+
if (cb !== undefined) {
|
|
387
|
+
return cb();
|
|
388
|
+
}
|
|
389
|
+
return Promise.resolve();
|
|
390
|
+
}),
|
|
391
|
+
remove: jest.fn(function (id, cb) {
|
|
392
|
+
var keys = typeof id === 'string' ? [id] : id;
|
|
393
|
+
keys.forEach(function (key) {
|
|
394
|
+
return delete localStore[key];
|
|
395
|
+
});
|
|
396
|
+
if (cb !== undefined) {
|
|
397
|
+
return cb();
|
|
398
|
+
}
|
|
399
|
+
return Promise.resolve();
|
|
400
|
+
}),
|
|
401
|
+
clear: jest.fn(function (cb) {
|
|
402
|
+
localStore = {};
|
|
403
|
+
if (cb !== undefined) {
|
|
404
|
+
return cb();
|
|
405
|
+
}
|
|
406
|
+
return Promise.resolve();
|
|
407
|
+
}),
|
|
408
|
+
onChanged: createEventListeners()
|
|
409
|
+
},
|
|
368
410
|
managed: {
|
|
369
411
|
get: jest.fn(function (id, cb) {
|
|
370
412
|
var result = id === null || id === undefined ? managedStore : resolveKey(id, managedStore);
|
package/package.json
CHANGED
package/src/storage.js
CHANGED
|
@@ -3,6 +3,7 @@ import { createEventListeners } from './createEventListeners';
|
|
|
3
3
|
let syncStore = {};
|
|
4
4
|
let localStore = {};
|
|
5
5
|
let managedStore = {};
|
|
6
|
+
let sessionStore = {};
|
|
6
7
|
|
|
7
8
|
function resolveKey(key, store) {
|
|
8
9
|
if (typeof key === 'string') {
|
|
@@ -104,6 +105,47 @@ export const storage = {
|
|
|
104
105
|
}),
|
|
105
106
|
onChanged: createEventListeners(),
|
|
106
107
|
},
|
|
108
|
+
session: {
|
|
109
|
+
get: jest.fn((id, cb) => {
|
|
110
|
+
const result =
|
|
111
|
+
id === null || id === undefined
|
|
112
|
+
? localStore
|
|
113
|
+
: resolveKey(id, localStore);
|
|
114
|
+
if (cb !== undefined) {
|
|
115
|
+
return cb(result);
|
|
116
|
+
}
|
|
117
|
+
return Promise.resolve(result);
|
|
118
|
+
}),
|
|
119
|
+
getBytesInUse: jest.fn((id, cb) => {
|
|
120
|
+
if (cb !== undefined) {
|
|
121
|
+
return cb(0);
|
|
122
|
+
}
|
|
123
|
+
return Promise.resolve(0);
|
|
124
|
+
}),
|
|
125
|
+
set: jest.fn((payload, cb) => {
|
|
126
|
+
Object.keys(payload).forEach((key) => (localStore[key] = payload[key]));
|
|
127
|
+
if (cb !== undefined) {
|
|
128
|
+
return cb();
|
|
129
|
+
}
|
|
130
|
+
return Promise.resolve();
|
|
131
|
+
}),
|
|
132
|
+
remove: jest.fn((id, cb) => {
|
|
133
|
+
const keys = typeof id === 'string' ? [id] : id;
|
|
134
|
+
keys.forEach((key) => delete localStore[key]);
|
|
135
|
+
if (cb !== undefined) {
|
|
136
|
+
return cb();
|
|
137
|
+
}
|
|
138
|
+
return Promise.resolve();
|
|
139
|
+
}),
|
|
140
|
+
clear: jest.fn((cb) => {
|
|
141
|
+
localStore = {};
|
|
142
|
+
if (cb !== undefined) {
|
|
143
|
+
return cb();
|
|
144
|
+
}
|
|
145
|
+
return Promise.resolve();
|
|
146
|
+
}),
|
|
147
|
+
onChanged: createEventListeners(),
|
|
148
|
+
},
|
|
107
149
|
managed: {
|
|
108
150
|
get: jest.fn((id, cb) => {
|
|
109
151
|
const result =
|