summaryrefslogtreecommitdiffstats
path: root/browser/components/pocket/test/unit/panels/browser_pocket_main.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/pocket/test/unit/panels/browser_pocket_main.js')
-rw-r--r--browser/components/pocket/test/unit/panels/browser_pocket_main.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/browser/components/pocket/test/unit/panels/browser_pocket_main.js b/browser/components/pocket/test/unit/panels/browser_pocket_main.js
new file mode 100644
index 0000000000..c40ad4d5d4
--- /dev/null
+++ b/browser/components/pocket/test/unit/panels/browser_pocket_main.js
@@ -0,0 +1,49 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+"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", {
+ url: "http://example.com",
+ source: "test-click",
+ position: 2,
+ }),
+ "Should send expected values to sendMessage with clickHelper click"
+ );
+});