From 63995b6c6f434361a4a680f959bacbcd4a083795 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Thu, 13 Oct 2022 13:03:45 +1100 Subject: Adding test for noscript.js --- test/spec/LibreJSSpec.js | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'test/spec') diff --git a/test/spec/LibreJSSpec.js b/test/spec/LibreJSSpec.js index 70ec339..459c8b4 100644 --- a/test/spec/LibreJSSpec.js +++ b/test/spec/LibreJSSpec.js @@ -50,7 +50,6 @@ describe('LibreJS\' components', () => { let url = browser.extension.getURL('/test/resources/index.html'); tab = (await browser.tabs.query({ url }))[0] || (await browser.tabs.create({ url })); documentUrl = url; - }); describe('The whitelist/blacklist manager', () => { @@ -257,15 +256,32 @@ describe('LibreJS\' components', () => { }); }); - describe('FIXME: dummy test to get noscript.js displayed in the console debugger', () => { + describe('User forces noscript element content', () => { beforeAll(async () => { await browser.tabs.executeScript(tab.id, { file: '/content/noscript.js' }); }); - it('IGNORE ME', () => { - expect(1).toBe(1); + it('forces noscript element content from content script', async () => { + const [numNsBefore] = await browser.tabs.executeScript(tab.id, { + code: 'document.querySelectorAll("noscript").length' + }); + expect(numNsBefore).toBe(1); + const contentBefore = await browser.tabs.executeScript(tab.id, { + code: 'document.querySelectorAll("noscript")[0].innerHTML' + }); + await browser.tabs.sendMessage(tab.id, { + action: 'forceNoscript' + }); + const [numNsAfter] = await browser.tabs.executeScript(tab.id, { + code: 'document.querySelectorAll("noscript").length' + }); + expect(numNsAfter).toBe(0); + const contentAfter = await browser.tabs.executeScript(tab.id, { + code: 'document.querySelectorAll("span[data-librejs-show-noscript]")[0].innerHTML' + }); + expect(contentBefore).toEqual(contentAfter); }); }); -- cgit v1.2.3