fix: cleanup async function tests and other minor tweaks on tests.
This commit is contained in:
parent
b0a111cdc7
commit
f28858961f
|
@ -10,21 +10,38 @@ describe("browser-polyfill", () => {
|
|||
it("returns a promise which resolves to the callback parameters", () => {
|
||||
const fakeChrome = {
|
||||
alarms: {clear: sinon.stub()},
|
||||
runtime: {lastError: null},
|
||||
runtime: {
|
||||
lastError: null,
|
||||
requestUpdateCheck: sinon.stub(),
|
||||
},
|
||||
tabs: {
|
||||
query: sinon.stub(),
|
||||
},
|
||||
};
|
||||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
// Test for single callback argument.
|
||||
fakeChrome.alarms.clear
|
||||
.onFirstCall().callsArgWith(1, "res1")
|
||||
.onSecondCall().callsArgWith(1, "res1", "res2", "res3");
|
||||
.onFirstCall().callsArgWith(1, "res1");
|
||||
|
||||
// Test for single array callback argument.
|
||||
fakeChrome.tabs.query
|
||||
.onFirstCall().callsArgWith(1, ["res1", "res2"]);
|
||||
|
||||
// Test for multiple callback arguments.
|
||||
fakeChrome.runtime.requestUpdateCheck
|
||||
.onFirstCall().callsArgWith(0, "res1", "res2");
|
||||
|
||||
return Promise.all([
|
||||
window.browser.alarms.clear("test1"),
|
||||
window.browser.alarms.clear("test2"),
|
||||
window.browser.tabs.query({active: true}),
|
||||
window.browser.runtime.requestUpdateCheck(),
|
||||
]);
|
||||
}).then(results => {
|
||||
assert.equal(results[0], "res1", "The first call resolved to a single value");
|
||||
assert.deepEqual(results[1], ["res1", "res2", "res3"],
|
||||
"The second call resolved to an array of the expected values");
|
||||
assert.equal(results[0], "res1", "Fake alarms.clear call resolved to a single value");
|
||||
assert.deepEqual(results[1], ["res1", "res2"],
|
||||
"Fake tabs.query resolved to an array of values");
|
||||
assert.deepEqual(results[2], ["res1", "res2"],
|
||||
"Fake runtime.requestUpdateCheck resolved to an array of values");
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -5,7 +5,7 @@ const {assert} = require("chai");
|
|||
const {setupTestDOMWindow} = require("./setup");
|
||||
|
||||
describe("browser-polyfill", () => {
|
||||
it("automatically wrapps chrome into a browser object", () => {
|
||||
it("wraps the global chrome namespace with a global browser namespace", () => {
|
||||
const fakeChrome = {};
|
||||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
assert.equal(typeof window.browser, "object", "Got the window.browser object");
|
||||
|
|
|
@ -22,7 +22,7 @@ describe("browser-polyfill", () => {
|
|||
});
|
||||
});
|
||||
|
||||
it("delete proxy getter/setter that are not wrapped", () => {
|
||||
it("deletes proxy getter/setter that are not wrapped", () => {
|
||||
const fakeChrome = {};
|
||||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
window.browser.newns = {newkey: "test-value"};
|
||||
|
@ -41,6 +41,8 @@ describe("browser-polyfill", () => {
|
|||
delete window.browser.newns.newkey2;
|
||||
assert.equal(window.browser.newns.newkey2, undefined,
|
||||
"Got the expected result from setting a wrapped property name");
|
||||
assert.ok(!("newkey2" in window.browser.newns),
|
||||
"The deleted property is not listed anymore");
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -7,7 +7,7 @@ const {setupTestDOMWindow} = require("./setup");
|
|||
|
||||
describe("browser-polyfill", () => {
|
||||
describe("wrapped runtime.onMessage listener", () => {
|
||||
it("keep track of the listeners added", () => {
|
||||
it("keeps track of the listeners added", () => {
|
||||
const messageListener = sinon.spy();
|
||||
|
||||
const fakeChrome = {
|
||||
|
@ -24,13 +24,14 @@ describe("browser-polyfill", () => {
|
|||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
fakeChrome.runtime.onMessage.hasListener
|
||||
.onFirstCall().returns(false)
|
||||
.onSecondCall().returns(true);
|
||||
.onSecondCall().returns(true)
|
||||
.onThirdCall().returns(false);
|
||||
|
||||
assert.equal(window.browser.runtime.onMessage.hasListener(messageListener),
|
||||
false, "Got hasListener==false before the listener has been added");
|
||||
window.browser.runtime.onMessage.addListener(messageListener);
|
||||
assert.equal(window.browser.runtime.onMessage.hasListener(messageListener),
|
||||
true, "Got hasListener=true once the listener has been added");
|
||||
true, "Got hasListener==true once the listener has been added");
|
||||
window.browser.runtime.onMessage.addListener(messageListener);
|
||||
|
||||
assert.ok(fakeChrome.runtime.onMessage.addListener.calledTwice,
|
||||
|
@ -49,6 +50,8 @@ describe("browser-polyfill", () => {
|
|||
assert.equal(fakeChrome.runtime.onMessage.addListener.secondCall.args[0],
|
||||
fakeChrome.runtime.onMessage.removeListener.firstCall.args[0],
|
||||
"both the addListener and removeListenercalls received the same wrapped listener");
|
||||
assert.equal(fakeChrome.runtime.onMessage.hasListener(messageListener), false,
|
||||
"Got hasListener==false once the listener has been removed");
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue