fix: resolve to undefined instead of an empty array
This commit is contained in:
parent
4e1e98add2
commit
d612352bba
|
@ -97,7 +97,7 @@ if (typeof browser === "undefined") {
|
||||||
return (...callbackArgs) => {
|
return (...callbackArgs) => {
|
||||||
if (chrome.runtime.lastError) {
|
if (chrome.runtime.lastError) {
|
||||||
promise.reject(chrome.runtime.lastError);
|
promise.reject(chrome.runtime.lastError);
|
||||||
} else if (metadata.singleCallbackArg || callbackArgs.length === 1) {
|
} else if (metadata.singleCallbackArg || callbackArgs.length <= 1) {
|
||||||
promise.resolve(callbackArgs[0]);
|
promise.resolve(callbackArgs[0]);
|
||||||
} else {
|
} else {
|
||||||
promise.resolve(callbackArgs);
|
promise.resolve(callbackArgs);
|
||||||
|
|
|
@ -12,6 +12,7 @@ describe("browser-polyfill", () => {
|
||||||
alarms: {clear: sinon.stub()},
|
alarms: {clear: sinon.stub()},
|
||||||
runtime: {
|
runtime: {
|
||||||
lastError: null,
|
lastError: null,
|
||||||
|
openOptionsPage: sinon.stub(),
|
||||||
requestUpdateCheck: sinon.stub(),
|
requestUpdateCheck: sinon.stub(),
|
||||||
},
|
},
|
||||||
tabs: {
|
tabs: {
|
||||||
|
@ -31,10 +32,15 @@ describe("browser-polyfill", () => {
|
||||||
fakeChrome.runtime.requestUpdateCheck
|
fakeChrome.runtime.requestUpdateCheck
|
||||||
.onFirstCall().callsArgWith(0, "res1", "res2");
|
.onFirstCall().callsArgWith(0, "res1", "res2");
|
||||||
|
|
||||||
|
// Test for no callback arguments.
|
||||||
|
fakeChrome.runtime.openOptionsPage
|
||||||
|
.onFirstCall().callsArg(0);
|
||||||
|
|
||||||
return Promise.all([
|
return Promise.all([
|
||||||
window.browser.alarms.clear("test1"),
|
window.browser.alarms.clear("test1"),
|
||||||
window.browser.tabs.query({active: true}),
|
window.browser.tabs.query({active: true}),
|
||||||
window.browser.runtime.requestUpdateCheck(),
|
window.browser.runtime.requestUpdateCheck(),
|
||||||
|
window.browser.runtime.openOptionsPage(),
|
||||||
]);
|
]);
|
||||||
}).then(results => {
|
}).then(results => {
|
||||||
equal(results[0], "res1", "Fake alarms.clear call resolved to a single value");
|
equal(results[0], "res1", "Fake alarms.clear call resolved to a single value");
|
||||||
|
@ -42,6 +48,8 @@ describe("browser-polyfill", () => {
|
||||||
"Fake tabs.query resolved to an array of values");
|
"Fake tabs.query resolved to an array of values");
|
||||||
deepEqual(results[2], ["res1", "res2"],
|
deepEqual(results[2], ["res1", "res2"],
|
||||||
"Fake runtime.requestUpdateCheck resolved to an array of values");
|
"Fake runtime.requestUpdateCheck resolved to an array of values");
|
||||||
|
|
||||||
|
equal(results[3], undefined, "Fake runtime.openOptionsPage resolved to a void value.");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue