style: destructure the assert methods to globals
This commit is contained in:
parent
2853e98546
commit
3842bd1693
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
|
||||
const {assert} = require("chai");
|
||||
const {deepEqual, equal, fail, throws} = require("chai").assert;
|
||||
const sinon = require("sinon");
|
||||
|
||||
const {setupTestDOMWindow} = require("./setup");
|
||||
|
@ -37,10 +37,10 @@ describe("browser-polyfill", () => {
|
|||
window.browser.runtime.requestUpdateCheck(),
|
||||
]);
|
||||
}).then(results => {
|
||||
assert.equal(results[0], "res1", "Fake alarms.clear call resolved to a single value");
|
||||
assert.deepEqual(results[1], ["res1", "res2"],
|
||||
equal(results[0], "res1", "Fake alarms.clear call resolved to a single value");
|
||||
deepEqual(results[1], ["res1", "res2"],
|
||||
"Fake tabs.query resolved to an array of values");
|
||||
assert.deepEqual(results[2], ["res1", "res2"],
|
||||
deepEqual(results[2], ["res1", "res2"],
|
||||
"Fake runtime.requestUpdateCheck resolved to an array of values");
|
||||
});
|
||||
});
|
||||
|
@ -61,8 +61,8 @@ describe("browser-polyfill", () => {
|
|||
.onFirstCall().callsArgWith(1, ["res1", "res2"]);
|
||||
|
||||
return window.browser.tabs.query({active: true}).then(
|
||||
() => assert.fail("Expected a rejected promise"),
|
||||
(err) => assert.equal(err, fakeChrome.runtime.lastError,
|
||||
() => fail("Expected a rejected promise"),
|
||||
(err) => equal(err, fakeChrome.runtime.lastError,
|
||||
"Got the expected error in the rejected promise")
|
||||
);
|
||||
});
|
||||
|
@ -77,11 +77,11 @@ describe("browser-polyfill", () => {
|
|||
};
|
||||
|
||||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
assert.throws(() => {
|
||||
throws(() => {
|
||||
window.browser.runtime.sendMessage();
|
||||
}, "Expected at least 1 arguments for sendMessage(), got 0");
|
||||
|
||||
assert.throws(() => {
|
||||
throws(() => {
|
||||
window.browser.runtime.sendMessage("0", "1", "2", "3");
|
||||
}, "Expected at most 3 arguments for sendMessage(), got 4");
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
|
||||
const {assert} = require("chai");
|
||||
const {deepEqual, equal, ok} = require("chai").assert;
|
||||
|
||||
const {setupTestDOMWindow} = require("./setup");
|
||||
|
||||
|
@ -8,7 +8,7 @@ describe("browser-polyfill", () => {
|
|||
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");
|
||||
equal(typeof window.browser, "object", "Got the window.browser object");
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -21,7 +21,7 @@ describe("browser-polyfill", () => {
|
|||
};
|
||||
|
||||
return setupTestDOMWindow(fakeChrome, fakeBrowser).then(window => {
|
||||
assert.deepEqual(window.browser, fakeBrowser,
|
||||
deepEqual(window.browser, fakeBrowser,
|
||||
"The existent browser has not been wrapped");
|
||||
});
|
||||
});
|
||||
|
@ -36,16 +36,16 @@ describe("browser-polyfill", () => {
|
|||
value: {mykey: true},
|
||||
});
|
||||
|
||||
assert.ok("myns" in window.browser, "The custom property exists");
|
||||
assert.ok("mykey" in window.browser.myns,
|
||||
ok("myns" in window.browser, "The custom property exists");
|
||||
ok("mykey" in window.browser.myns,
|
||||
"The content of the custom property exists");
|
||||
|
||||
assert.deepEqual(window.browser.myns, {mykey: true},
|
||||
deepEqual(window.browser.myns, {mykey: true},
|
||||
"The custom property has the expected content");
|
||||
|
||||
delete window.browser.myns;
|
||||
|
||||
assert.ok(!("myns" in window.browser),
|
||||
ok(!("myns" in window.browser),
|
||||
"The deleted custom defined property has been removed");
|
||||
});
|
||||
});
|
||||
|
@ -53,11 +53,11 @@ describe("browser-polyfill", () => {
|
|||
it("returns undefined for property undefined in the target", () => {
|
||||
const fakeChrome = {myns: {mykey: true}};
|
||||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
assert.equal(window.browser.myns.mykey, true,
|
||||
equal(window.browser.myns.mykey, true,
|
||||
"Got the expected result from a wrapped property");
|
||||
assert.equal(window.browser.myns.nonexistent, undefined,
|
||||
equal(window.browser.myns.nonexistent, undefined,
|
||||
"Got undefined for non existent property");
|
||||
assert.equal(window.browser.nonexistent, undefined,
|
||||
equal(window.browser.nonexistent, undefined,
|
||||
"Got undefined for non existent namespaces");
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
|
||||
const {assert} = require("chai");
|
||||
const {deepEqual, equal, ok} = require("chai").assert;
|
||||
const sinon = require("sinon");
|
||||
|
||||
const {setupTestDOMWindow} = require("./setup");
|
||||
|
@ -14,14 +14,14 @@ describe("browser-polyfill", () => {
|
|||
},
|
||||
};
|
||||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
assert.ok(window.browser.runtime.nonwrappedmethod);
|
||||
ok(window.browser.runtime.nonwrappedmethod);
|
||||
|
||||
const fakeCallback = () => {};
|
||||
window.browser.runtime.nonwrappedmethod(fakeCallback);
|
||||
|
||||
const receivedCallback = fakeChrome.runtime.nonwrappedmethod.firstCall.args[0];
|
||||
|
||||
assert.equal(fakeCallback, receivedCallback,
|
||||
equal(fakeCallback, receivedCallback,
|
||||
"The callback has not been wrapped for the nonwrappedmethod");
|
||||
});
|
||||
});
|
||||
|
@ -36,9 +36,9 @@ describe("browser-polyfill", () => {
|
|||
};
|
||||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
// Check that the property values on the generated wrapper.
|
||||
assert.equal(window.browser.runtime.myprop, "previous-value",
|
||||
equal(window.browser.runtime.myprop, "previous-value",
|
||||
"Got the expected result from setting a wrapped property name");
|
||||
assert.equal(window.browser.nowrapns.nowrapkey, "previous-value",
|
||||
equal(window.browser.nowrapns.nowrapkey, "previous-value",
|
||||
"Got the expected result from setting a wrapped property name");
|
||||
|
||||
// Update the properties on the generated wrapper.
|
||||
|
@ -46,30 +46,30 @@ describe("browser-polyfill", () => {
|
|||
const setResult2 = window.browser.nowrapns.nowrapkey = "new-value";
|
||||
|
||||
// Check the results of setting the new value of the wrapped properties.
|
||||
assert.equal(setResult, "new-value",
|
||||
equal(setResult, "new-value",
|
||||
"Got the expected result from setting a wrapped property name");
|
||||
assert.equal(setResult2, "new-value",
|
||||
equal(setResult2, "new-value",
|
||||
"Got the expected result from setting a wrapped property name");
|
||||
|
||||
// Verify that the wrapped properties has been updated.
|
||||
assert.equal(window.browser.runtime.myprop, "new-value",
|
||||
equal(window.browser.runtime.myprop, "new-value",
|
||||
"Got the expected updated value from the browser property");
|
||||
assert.equal(window.browser.nowrapns.nowrapkey, "new-value",
|
||||
equal(window.browser.nowrapns.nowrapkey, "new-value",
|
||||
"Got the expected updated value from the browser property");
|
||||
|
||||
// Verify that the target properties has been updated.
|
||||
assert.equal(window.chrome.runtime.myprop, "new-value",
|
||||
equal(window.chrome.runtime.myprop, "new-value",
|
||||
"Got the expected updated value on the related chrome property");
|
||||
assert.equal(window.chrome.nowrapns.nowrapkey, "new-value",
|
||||
equal(window.chrome.nowrapns.nowrapkey, "new-value",
|
||||
"Got the expected updated value on the related chrome property");
|
||||
|
||||
// Set a property multiple times before read.
|
||||
window.browser.nowrapns.nowrapkey2 = "new-value2";
|
||||
window.browser.nowrapns.nowrapkey2 = "new-value3";
|
||||
|
||||
assert.equal(window.chrome.nowrapns.nowrapkey2, "new-value3",
|
||||
equal(window.chrome.nowrapns.nowrapkey2, "new-value3",
|
||||
"Got the expected updated value on the related chrome property");
|
||||
assert.equal(window.browser.nowrapns.nowrapkey2, "new-value3",
|
||||
equal(window.browser.nowrapns.nowrapkey2, "new-value3",
|
||||
"Got the expected updated value on the wrapped property");
|
||||
});
|
||||
});
|
||||
|
@ -79,24 +79,24 @@ describe("browser-polyfill", () => {
|
|||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
window.browser.newns = {newkey: "test-value"};
|
||||
|
||||
assert.ok("newns" in window.browser, "The custom namespace is in the wrapper");
|
||||
assert.ok("newns" in window.chrome, "The custom namespace is in the target");
|
||||
ok("newns" in window.browser, "The custom namespace is in the wrapper");
|
||||
ok("newns" in window.chrome, "The custom namespace is in the target");
|
||||
|
||||
assert.equal(window.browser.newns.newkey, "test-value",
|
||||
equal(window.browser.newns.newkey, "test-value",
|
||||
"Got the expected result from setting a wrapped property name");
|
||||
|
||||
const setRes = window.browser.newns = {newkey2: "new-value"};
|
||||
assert.equal(window.browser.newns.newkey2, "new-value",
|
||||
equal(window.browser.newns.newkey2, "new-value",
|
||||
"The new non-wrapped getter is cached");
|
||||
assert.deepEqual(setRes, {newkey2: "new-value"},
|
||||
deepEqual(setRes, {newkey2: "new-value"},
|
||||
"Got the expected result from setting a new wrapped property name");
|
||||
assert.deepEqual(window.browser.newns, window.chrome.newns,
|
||||
deepEqual(window.browser.newns, window.chrome.newns,
|
||||
"chrome.newns and browser.newns are the same");
|
||||
|
||||
delete window.browser.newns.newkey2;
|
||||
assert.equal(window.browser.newns.newkey2, undefined,
|
||||
equal(window.browser.newns.newkey2, undefined,
|
||||
"Got the expected result from setting a wrapped property name");
|
||||
assert.ok(!("newkey2" in window.browser.newns),
|
||||
ok(!("newkey2" in window.browser.newns),
|
||||
"The deleted property is not listed anymore");
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
|
||||
const {assert} = require("chai");
|
||||
const {deepEqual, equal, ok} = require("chai").assert;
|
||||
const sinon = require("sinon");
|
||||
|
||||
const {setupTestDOMWindow} = require("./setup");
|
||||
|
@ -24,7 +24,7 @@ describe("browser-polyfill", () => {
|
|||
|
||||
window.browser.runtime.onMessage.addListener(fakeNonFunctionListener);
|
||||
|
||||
assert.deepEqual(fakeChrome.runtime.onMessage.addListener.firstCall.args[0],
|
||||
deepEqual(fakeChrome.runtime.onMessage.addListener.firstCall.args[0],
|
||||
fakeNonFunctionListener,
|
||||
"The non-function listener has not been wrapped");
|
||||
});
|
||||
|
@ -53,37 +53,37 @@ describe("browser-polyfill", () => {
|
|||
// Fake the hasListener result for "listener unregistered".
|
||||
.onThirdCall().returns(false);
|
||||
|
||||
assert.equal(window.browser.runtime.onMessage.hasListener(messageListener),
|
||||
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),
|
||||
equal(window.browser.runtime.onMessage.hasListener(messageListener),
|
||||
true, "Got hasListener==true once the listener has been added");
|
||||
|
||||
// Add the same listener again to test that it will be called with the
|
||||
// same wrapped listener.
|
||||
window.browser.runtime.onMessage.addListener(messageListener);
|
||||
|
||||
assert.ok(fakeChrome.runtime.onMessage.addListener.calledTwice,
|
||||
ok(fakeChrome.runtime.onMessage.addListener.calledTwice,
|
||||
"addListener has been called twice");
|
||||
assert.equal(fakeChrome.runtime.onMessage.addListener.secondCall.args[0],
|
||||
equal(fakeChrome.runtime.onMessage.addListener.secondCall.args[0],
|
||||
fakeChrome.runtime.onMessage.addListener.firstCall.args[0],
|
||||
"both the addListener calls received the same wrapped listener");
|
||||
|
||||
// Retrieve the wrapped listener and execute it to fake a received message.
|
||||
const wrappedListener = fakeChrome.runtime.onMessage.addListener.firstCall.args[0];
|
||||
wrappedListener("msg", {name: "sender"}, function sendResponse() {});
|
||||
assert.ok(messageListener.calledOnce, "The listener has been called once");
|
||||
ok(messageListener.calledOnce, "The listener has been called once");
|
||||
|
||||
// Remove the listener.
|
||||
window.browser.runtime.onMessage.removeListener(messageListener);
|
||||
assert.ok(fakeChrome.runtime.onMessage.removeListener.calledOnce,
|
||||
ok(fakeChrome.runtime.onMessage.removeListener.calledOnce,
|
||||
"removeListener has been called once");
|
||||
assert.equal(fakeChrome.runtime.onMessage.addListener.secondCall.args[0],
|
||||
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,
|
||||
equal(fakeChrome.runtime.onMessage.hasListener(messageListener), false,
|
||||
"Got hasListener==false once the listener has been removed");
|
||||
});
|
||||
});
|
||||
|
@ -118,19 +118,19 @@ describe("browser-polyfill", () => {
|
|||
return setupTestDOMWindow(fakeChrome).then(window => {
|
||||
window.browser.runtime.onMessage.addListener(messageListener);
|
||||
|
||||
assert.ok(fakeChrome.runtime.onMessage.addListener.calledOnce);
|
||||
ok(fakeChrome.runtime.onMessage.addListener.calledOnce);
|
||||
|
||||
wrappedListener = fakeChrome.runtime.onMessage.addListener.firstCall.args[0];
|
||||
|
||||
wrappedListener("fake message", {name: "fake sender"}, sendResponseSpy);
|
||||
|
||||
assert.ok(messageListener.calledOnce, "The unwrapped message listener has been called");
|
||||
assert.deepEqual(messageListener.firstCall.args,
|
||||
ok(messageListener.calledOnce, "The unwrapped message listener has been called");
|
||||
deepEqual(messageListener.firstCall.args,
|
||||
["fake message", {name: "fake sender"}],
|
||||
"The unwrapped message listener has received the expected parameters");
|
||||
|
||||
assert.ok(sendResponseSpy.calledOnce, "The sendResponse function has been called");
|
||||
assert.equal(sendResponseSpy.firstCall.args[0], "fake reply",
|
||||
ok(sendResponseSpy.calledOnce, "The sendResponse function has been called");
|
||||
equal(sendResponseSpy.firstCall.args[0], "fake reply",
|
||||
"sendResponse callback has been called with the expected parameters");
|
||||
|
||||
wrappedListener("fake message2", {name: "fake sender2"}, sendResponseSpy);
|
||||
|
@ -138,29 +138,29 @@ describe("browser-polyfill", () => {
|
|||
// Wait the second response promise to be resolved.
|
||||
return secondResponse;
|
||||
}).then(() => {
|
||||
assert.ok(messageListener.calledTwice,
|
||||
ok(messageListener.calledTwice,
|
||||
"The unwrapped message listener has been called");
|
||||
assert.deepEqual(messageListener.secondCall.args,
|
||||
deepEqual(messageListener.secondCall.args,
|
||||
["fake message2", {name: "fake sender2"}],
|
||||
"The unwrapped listener has received the expected parameters");
|
||||
|
||||
assert.ok(sendResponseSpy.calledTwice, "The sendResponse function has been called");
|
||||
assert.equal(sendResponseSpy.secondCall.args[0], "fake reply 2",
|
||||
ok(sendResponseSpy.calledTwice, "The sendResponse function has been called");
|
||||
equal(sendResponseSpy.secondCall.args[0], "fake reply 2",
|
||||
"sendResponse callback has been called with the expected parameters");
|
||||
}).then(() => {
|
||||
wrappedListener("fake message3", {name: "fake sender3"}, sendResponseSpy);
|
||||
|
||||
// Wait the third response promise to be rejected.
|
||||
return thirdResponse.catch(err => {
|
||||
assert.equal(messageListener.callCount, 3,
|
||||
equal(messageListener.callCount, 3,
|
||||
"The unwrapped message listener has been called");
|
||||
assert.deepEqual(messageListener.thirdCall.args,
|
||||
deepEqual(messageListener.thirdCall.args,
|
||||
["fake message3", {name: "fake sender3"}],
|
||||
"The unwrapped listener has received the expected parameters");
|
||||
|
||||
assert.equal(sendResponseSpy.callCount, 3,
|
||||
equal(sendResponseSpy.callCount, 3,
|
||||
"The sendResponse function has been called");
|
||||
assert.equal(sendResponseSpy.thirdCall.args[0], err,
|
||||
equal(sendResponseSpy.thirdCall.args[0], err,
|
||||
"sendResponse callback has been called with the expected parameters");
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue