Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
function test_runner(test) {
let testTask = async () => {
// Before each
const sandbox = sinon.createSandbox();
try {
await test({
sandbox,
pktPanelMessaging: testGlobal.window.pktPanelMessaging,
});
} finally {
// After each
sandbox.restore();
}
};
// Copy the name of the test function to identify the test
Object.defineProperty(testTask, "name", { value: test.name });
add_task(testTask);
}
test_runner(async function test_clickHelper({ sandbox, pktPanelMessaging }) {
// Create a button to test the click helper with.
const button = document.createElement("button");
button.setAttribute("href", "http://example.com");
// Setup a stub for the click itself.
sandbox.stub(pktPanelMessaging, "sendMessage");
// Create the click helper and trigger the click.
pktPanelMessaging.clickHelper(button, { source: "test-click", position: 2 });
button.click();
Assert.ok(
pktPanelMessaging.sendMessage.calledOnce,
"Should fire sendMessage once with clickHelper click"
);
Assert.ok(
pktPanelMessaging.sendMessage.calledWith("PKT_openTabWithUrl", {
source: "test-click",
position: 2,
}),
"Should send expected values to sendMessage with clickHelper click"
);
});