Skip to content

Commit 9b75801

Browse files
author
Bryan Clark
committed
Shipping the new storage API layer
1 parent f5098d8 commit 9b75801

File tree

1 file changed

+50
-28
lines changed

1 file changed

+50
-28
lines changed

dist/setup.js

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,13 @@ var omnibox = {
2222

2323
var tabs = {
2424
get: jest.fn(function () {
25-
var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
2625
var cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
2726
return cb({});
2827
}),
2928
getCurrent: jest.fn(function (cb) {
3029
return cb({});
3130
}),
3231
connect: jest.fn(function () {
33-
var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
3432
var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3533

3634
// returns a Port
@@ -44,6 +42,7 @@ var tabs = {
4442
addListener: jest.fn()
4543
},
4644
postMessage: jest.fn()
45+
// TODO: add sender
4746
};
4847
}),
4948
create: jest.fn(function () {
@@ -61,12 +60,10 @@ var tabs = {
6160
return cb(Object.assign({}, { id: id }));
6261
}),
6362
query: jest.fn(function () {
64-
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
6563
var cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
6664
return cb([{}]);
6765
}),
6866
highlight: jest.fn(function () {
69-
var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7067
var cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
7168
return cb();
7269
}),
@@ -116,31 +113,54 @@ var runtime = {
116113
}
117114
};
118115

116+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
117+
return typeof obj;
118+
} : function (obj) {
119+
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
120+
};
121+
122+
function resolveKey(key) {
123+
if (typeof key === 'string') {
124+
var result = {};
125+
result[key] = '';
126+
return result;
127+
} else if (Array.isArray(key)) {
128+
return key.reduce(function (acc, curr) {
129+
acc[curr] = '';
130+
return acc;
131+
}, {});
132+
} else if ((typeof key === 'undefined' ? 'undefined' : _typeof(key)) === 'object') {
133+
return key;
134+
}
135+
throw new Error('Wrong key given');
136+
}
137+
119138
var storage = {
120139
sync: {
121140
get: jest.fn(function (id, cb) {
141+
var result = resolveKey(id);
122142
if (cb !== undefined) {
123-
return cb({ id: id });
143+
return cb(result);
124144
}
125-
return Promise.resolve({ id: id });
145+
return Promise.resolve(result);
126146
}),
127147
getBytesInUse: jest.fn(function (id, cb) {
128148
if (cb !== undefined) {
129-
return cb({ id: id });
149+
return cb(0);
130150
}
131-
return Promise.resolve({ id: id });
151+
return Promise.resolve(0);
132152
}),
133153
set: jest.fn(function (id, cb) {
134154
if (cb !== undefined) {
135-
return cb({ id: id });
155+
return cb();
136156
}
137-
return Promise.resolve({ id: id });
157+
return Promise.resolve();
138158
}),
139159
remove: jest.fn(function (id, cb) {
140160
if (cb !== undefined) {
141-
return cb({ id: id });
161+
return cb();
142162
}
143-
return Promise.resolve({ id: id });
163+
return Promise.resolve();
144164
}),
145165
clear: jest.fn(function (cb) {
146166
if (cb !== undefined) {
@@ -151,28 +171,29 @@ var storage = {
151171
},
152172
local: {
153173
get: jest.fn(function (id, cb) {
174+
var result = resolveKey(id);
154175
if (cb !== undefined) {
155-
return cb({ id: id });
176+
return cb(result);
156177
}
157-
return Promise.resolve({ id: id });
178+
return Promise.resolve(result);
158179
}),
159180
getBytesInUse: jest.fn(function (id, cb) {
160181
if (cb !== undefined) {
161-
return cb({ id: id });
182+
return cb(0);
162183
}
163-
return Promise.resolve({ id: id });
184+
return Promise.resolve(0);
164185
}),
165186
set: jest.fn(function (id, cb) {
166187
if (cb !== undefined) {
167-
return cb({ id: id });
188+
return cb();
168189
}
169-
return Promise.resolve({ id: id });
190+
return Promise.resolve();
170191
}),
171192
remove: jest.fn(function (id, cb) {
172193
if (cb !== undefined) {
173-
return cb({ id: id });
194+
return cb();
174195
}
175-
return Promise.resolve({ id: id });
196+
return Promise.resolve();
176197
}),
177198
clear: jest.fn(function (cb) {
178199
if (cb !== undefined) {
@@ -183,28 +204,29 @@ var storage = {
183204
},
184205
managed: {
185206
get: jest.fn(function (id, cb) {
207+
var result = resolveKey(id);
186208
if (cb !== undefined) {
187-
return cb({ id: id });
209+
return cb(result);
188210
}
189-
return Promise.resolve({ id: id });
211+
return Promise.resolve(result);
190212
}),
191213
getBytesInUse: jest.fn(function (id, cb) {
192214
if (cb !== undefined) {
193-
return cb({ id: id });
215+
return cb(0);
194216
}
195-
return Promise.resolve({ id: id });
217+
return Promise.resolve(0);
196218
}),
197219
set: jest.fn(function (id, cb) {
198220
if (cb !== undefined) {
199-
return cb({ id: id });
221+
return cb();
200222
}
201-
return Promise.resolve({ id: id });
223+
return Promise.resolve();
202224
}),
203225
remove: jest.fn(function (id, cb) {
204226
if (cb !== undefined) {
205-
return cb({ id: id });
227+
return cb();
206228
}
207-
return Promise.resolve({ id: id });
229+
return Promise.resolve();
208230
}),
209231
clear: jest.fn(function (cb) {
210232
if (cb !== undefined) {

0 commit comments

Comments
 (0)