diff options
Diffstat (limited to 'e2e/blacklist.test.ts')
-rw-r--r-- | e2e/blacklist.test.ts | 58 |
1 files changed, 23 insertions, 35 deletions
diff --git a/e2e/blacklist.test.ts b/e2e/blacklist.test.ts index b3b5f0f..03f2f90 100644 --- a/e2e/blacklist.test.ts +++ b/e2e/blacklist.test.ts @@ -1,49 +1,29 @@ -import express from 'express'; import * as path from 'path'; import * as assert from 'assert'; +import TestServer from './lib/TestServer'; import { Builder, Lanthan } from 'lanthan'; import { WebDriver } from 'selenium-webdriver'; -import * as http from 'http'; import Page from './lib/Page'; -const newApp = () => { - let app = express(); - app.get('/*', (_req, res) => { - res.status(200).send(`<!DOCTYPEhtml> -<html lang="en"> - <body style="width:10000px; height:10000px"></body> -</html>`); - }); - return app; -}; - -describe("navigate test", () => { - const port = 12321; - let http: http.Server; +describe("blacklist test", () => { + let server = new TestServer().receiveContent('/*', + `<!DOCTYPE html><html lang="en"><body style="width:10000px; height:10000px"></body></html">`, + ); let lanthan: Lanthan; let webdriver: WebDriver; let browser: any; before(async() => { - http = newApp().listen(port); - lanthan = await Builder .forBrowser('firefox') .spyAddon(path.join(__dirname, '..')) .build(); webdriver = lanthan.getWebDriver(); browser = lanthan.getWebExtBrowser(); - }); + await server.start(); - after(async() => { - if (lanthan) { - await lanthan.quit(); - } - http.close(); - }); - - it('should disable add-on if the URL is in the blacklist', async () => { + let url = server.url('/a').replace('http://', ''); await browser.storage.local.set({ settings: { source: 'json', @@ -51,24 +31,32 @@ describe("navigate test", () => { "keymaps": { "j": { "type": "scroll.vertically", "count": 1 } }, - "blacklist": [ "127.0.0.1:${port}/a" ] + "blacklist": [ "${url}" ] }`, }, }); + }); + + after(async() => { + await server.stop(); + if (lanthan) { + await lanthan.quit(); + } + }); - let page = await Page.navigateTo(webdriver, `http://127.0.0.1:${port}/a`); + it('should disable add-on if the URL is in the blacklist', async () => { + let page = await Page.navigateTo(webdriver, server.url('/a')); await page.sendKeys('j') - // not works - let pageYOffset = await webdriver.executeScript(() => window.pageYOffset); let scrollY = await page.getScrollY(); - assert.equal(pageYOffset, 0); + assert.equal(scrollY, 0); + }); - page = await Page.navigateTo(webdriver, `http://127.0.0.1:${port}/ab`); + it('should enabled add-on if the URL is not in the blacklist', async () => { + let page = await Page.navigateTo(webdriver, server.url('/ab')); await page.sendKeys('j'); - // works - scrollY = await page.getScrollY(); + let scrollY = await page.getScrollY(); assert.equal(scrollY, 64); }); }); |