From a1469d6f17baaf21093940a486e37976e5141694 Mon Sep 17 00:00:00 2001 From: Luca Greco Date: Tue, 11 Oct 2016 14:34:39 +0200 Subject: [PATCH] fix: added inline comments to special runtime.onMessage wrapper tests. --- test/test-runtime-onMessage.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/test-runtime-onMessage.js b/test/test-runtime-onMessage.js index 26d4640..048dad7 100644 --- a/test/test-runtime-onMessage.js +++ b/test/test-runtime-onMessage.js @@ -23,15 +23,23 @@ describe("browser-polyfill", () => { return setupTestDOMWindow(fakeChrome).then(window => { fakeChrome.runtime.onMessage.hasListener + // Fake the hasListener result for "listener not yet registered". .onFirstCall().returns(false) + // Fake the hasListener result for "listener registered". .onSecondCall().returns(true) + // Fake the hasListener result for "listener unregistered". .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"); + + // 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, @@ -40,10 +48,12 @@ describe("browser-polyfill", () => { 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"); + // Remove the listener. window.browser.runtime.onMessage.removeListener(messageListener); assert.ok(fakeChrome.runtime.onMessage.removeListener.calledOnce, "removeListener has been called once");