jest-webextension-mock 3.8.13 → 3.8.15

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # jest-webextension-mock
2
2
 
3
+ ## 3.8.15
4
+
5
+ ### Patch Changes
6
+
7
+ - Forgot to build the package before publishing 🤦
8
+
9
+ ## 3.8.14
10
+
11
+ ### Patch Changes
12
+
13
+ - Fix different storage types using the same store
14
+
3
15
  ## 3.8.13
4
16
 
5
17
  ### Patch Changes
package/dist/setup.js CHANGED
@@ -259,8 +259,10 @@ var createEventListeners = function createEventListeners() {
259
259
  };
260
260
  };
261
261
 
262
- var store = {};
263
- function resolveKey(key) {
262
+ var syncStore = {};
263
+ var localStore = {};
264
+ var managedStore = {};
265
+ function resolveKey(key, store) {
264
266
  if (typeof key === 'string') {
265
267
  var result = {};
266
268
  result[key] = store[key];
@@ -281,7 +283,7 @@ function resolveKey(key) {
281
283
  var storage = {
282
284
  sync: {
283
285
  get: jest.fn(function (id, cb) {
284
- var result = id === null ? store : resolveKey(id);
286
+ var result = id === null ? syncStore : resolveKey(id, syncStore);
285
287
  if (cb !== undefined) {
286
288
  return cb(result);
287
289
  }
@@ -295,7 +297,7 @@ var storage = {
295
297
  }),
296
298
  set: jest.fn(function (payload, cb) {
297
299
  Object.keys(payload).forEach(function (key) {
298
- return store[key] = payload[key];
300
+ return syncStore[key] = payload[key];
299
301
  });
300
302
  if (cb !== undefined) {
301
303
  return cb();
@@ -305,7 +307,7 @@ var storage = {
305
307
  remove: jest.fn(function (id, cb) {
306
308
  var keys = typeof id === 'string' ? [id] : id;
307
309
  keys.forEach(function (key) {
308
- return delete store[key];
310
+ return delete syncStore[key];
309
311
  });
310
312
  if (cb !== undefined) {
311
313
  return cb();
@@ -313,7 +315,7 @@ var storage = {
313
315
  return Promise.resolve();
314
316
  }),
315
317
  clear: jest.fn(function (cb) {
316
- store = {};
318
+ syncStore = {};
317
319
  if (cb !== undefined) {
318
320
  return cb();
319
321
  }
@@ -323,7 +325,7 @@ var storage = {
323
325
  },
324
326
  local: {
325
327
  get: jest.fn(function (id, cb) {
326
- var result = id === null ? store : resolveKey(id);
328
+ var result = id === null ? localStore : resolveKey(id, localStore);
327
329
  if (cb !== undefined) {
328
330
  return cb(result);
329
331
  }
@@ -337,7 +339,7 @@ var storage = {
337
339
  }),
338
340
  set: jest.fn(function (payload, cb) {
339
341
  Object.keys(payload).forEach(function (key) {
340
- return store[key] = payload[key];
342
+ return localStore[key] = payload[key];
341
343
  });
342
344
  if (cb !== undefined) {
343
345
  return cb();
@@ -347,7 +349,7 @@ var storage = {
347
349
  remove: jest.fn(function (id, cb) {
348
350
  var keys = typeof id === 'string' ? [id] : id;
349
351
  keys.forEach(function (key) {
350
- return delete store[key];
352
+ return delete localStore[key];
351
353
  });
352
354
  if (cb !== undefined) {
353
355
  return cb();
@@ -355,7 +357,7 @@ var storage = {
355
357
  return Promise.resolve();
356
358
  }),
357
359
  clear: jest.fn(function (cb) {
358
- store = {};
360
+ localStore = {};
359
361
  if (cb !== undefined) {
360
362
  return cb();
361
363
  }
@@ -365,7 +367,7 @@ var storage = {
365
367
  },
366
368
  managed: {
367
369
  get: jest.fn(function (id, cb) {
368
- var result = id === null ? store : resolveKey(id);
370
+ var result = id === null ? managedStore : resolveKey(id, managedStore);
369
371
  if (cb !== undefined) {
370
372
  return cb(result);
371
373
  }
@@ -379,7 +381,7 @@ var storage = {
379
381
  }),
380
382
  set: jest.fn(function (payload, cb) {
381
383
  Object.keys(payload).forEach(function (key) {
382
- return store[key] = payload[key];
384
+ return managedStore[key] = payload[key];
383
385
  });
384
386
  if (cb !== undefined) {
385
387
  return cb();
@@ -389,7 +391,7 @@ var storage = {
389
391
  remove: jest.fn(function (id, cb) {
390
392
  var keys = typeof id === 'string' ? [id] : id;
391
393
  keys.forEach(function (key) {
392
- return delete store[key];
394
+ return delete managedStore[key];
393
395
  });
394
396
  if (cb !== undefined) {
395
397
  return cb();
@@ -397,7 +399,7 @@ var storage = {
397
399
  return Promise.resolve();
398
400
  }),
399
401
  clear: jest.fn(function (cb) {
400
- store = {};
402
+ managedStore = {};
401
403
  if (cb !== undefined) {
402
404
  return cb();
403
405
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jest-webextension-mock",
3
- "version": "3.8.13",
3
+ "version": "3.8.15",
4
4
  "description": "Mock the components of a WebExtension",
5
5
  "main": "dist/setup.js",
6
6
  "module": "src/setup.js",
package/src/storage.js CHANGED
@@ -1,7 +1,10 @@
1
- let store = {};
2
1
  import { createEventListeners } from './createEventListeners';
3
2
 
4
- function resolveKey(key) {
3
+ let syncStore = {};
4
+ let localStore = {};
5
+ let managedStore = {};
6
+
7
+ function resolveKey(key, store) {
5
8
  if (typeof key === 'string') {
6
9
  const result = {};
7
10
  result[key] = store[key];
@@ -23,7 +26,7 @@ function resolveKey(key) {
23
26
  export const storage = {
24
27
  sync: {
25
28
  get: jest.fn((id, cb) => {
26
- const result = id === null ? store : resolveKey(id);
29
+ const result = id === null ? syncStore : resolveKey(id, syncStore);
27
30
  if (cb !== undefined) {
28
31
  return cb(result);
29
32
  }
@@ -36,7 +39,7 @@ export const storage = {
36
39
  return Promise.resolve(0);
37
40
  }),
38
41
  set: jest.fn((payload, cb) => {
39
- Object.keys(payload).forEach((key) => (store[key] = payload[key]));
42
+ Object.keys(payload).forEach((key) => (syncStore[key] = payload[key]));
40
43
  if (cb !== undefined) {
41
44
  return cb();
42
45
  }
@@ -44,14 +47,14 @@ export const storage = {
44
47
  }),
45
48
  remove: jest.fn((id, cb) => {
46
49
  const keys = typeof id === 'string' ? [id] : id;
47
- keys.forEach((key) => delete store[key]);
50
+ keys.forEach((key) => delete syncStore[key]);
48
51
  if (cb !== undefined) {
49
52
  return cb();
50
53
  }
51
54
  return Promise.resolve();
52
55
  }),
53
56
  clear: jest.fn((cb) => {
54
- store = {};
57
+ syncStore = {};
55
58
  if (cb !== undefined) {
56
59
  return cb();
57
60
  }
@@ -61,7 +64,7 @@ export const storage = {
61
64
  },
62
65
  local: {
63
66
  get: jest.fn((id, cb) => {
64
- const result = id === null ? store : resolveKey(id);
67
+ const result = id === null ? localStore : resolveKey(id, localStore);
65
68
  if (cb !== undefined) {
66
69
  return cb(result);
67
70
  }
@@ -74,7 +77,7 @@ export const storage = {
74
77
  return Promise.resolve(0);
75
78
  }),
76
79
  set: jest.fn((payload, cb) => {
77
- Object.keys(payload).forEach((key) => (store[key] = payload[key]));
80
+ Object.keys(payload).forEach((key) => (localStore[key] = payload[key]));
78
81
  if (cb !== undefined) {
79
82
  return cb();
80
83
  }
@@ -82,14 +85,14 @@ export const storage = {
82
85
  }),
83
86
  remove: jest.fn((id, cb) => {
84
87
  const keys = typeof id === 'string' ? [id] : id;
85
- keys.forEach((key) => delete store[key]);
88
+ keys.forEach((key) => delete localStore[key]);
86
89
  if (cb !== undefined) {
87
90
  return cb();
88
91
  }
89
92
  return Promise.resolve();
90
93
  }),
91
94
  clear: jest.fn((cb) => {
92
- store = {};
95
+ localStore = {};
93
96
  if (cb !== undefined) {
94
97
  return cb();
95
98
  }
@@ -99,7 +102,7 @@ export const storage = {
99
102
  },
100
103
  managed: {
101
104
  get: jest.fn((id, cb) => {
102
- const result = id === null ? store : resolveKey(id);
105
+ const result = id === null ? managedStore : resolveKey(id, managedStore);
103
106
  if (cb !== undefined) {
104
107
  return cb(result);
105
108
  }
@@ -112,7 +115,7 @@ export const storage = {
112
115
  return Promise.resolve(0);
113
116
  }),
114
117
  set: jest.fn((payload, cb) => {
115
- Object.keys(payload).forEach((key) => (store[key] = payload[key]));
118
+ Object.keys(payload).forEach((key) => (managedStore[key] = payload[key]));
116
119
  if (cb !== undefined) {
117
120
  return cb();
118
121
  }
@@ -120,14 +123,14 @@ export const storage = {
120
123
  }),
121
124
  remove: jest.fn((id, cb) => {
122
125
  const keys = typeof id === 'string' ? [id] : id;
123
- keys.forEach((key) => delete store[key]);
126
+ keys.forEach((key) => delete managedStore[key]);
124
127
  if (cb !== undefined) {
125
128
  return cb();
126
129
  }
127
130
  return Promise.resolve();
128
131
  }),
129
132
  clear: jest.fn((cb) => {
130
- store = {};
133
+ managedStore = {};
131
134
  if (cb !== undefined) {
132
135
  return cb();
133
136
  }