diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2020-05-02 17:25:56 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-02 17:25:56 +0900 |
commit | 5df0537bcf65a341e79852b1b30379c73318529c (patch) | |
tree | aee5efe52412855f620cb514a13a2c14373f27b7 /e2e/follow_properties.test.ts | |
parent | 685f2b7b69218b06b5bb676069e35f79c5048c9b (diff) | |
parent | 75abd90ecb8201ad845b266f96220d8adfe19b2d (diff) |
Merge pull request #749 from ueokande/qa-0.28
QA 0.28
Diffstat (limited to 'e2e/follow_properties.test.ts')
-rw-r--r-- | e2e/follow_properties.test.ts | 112 |
1 files changed, 58 insertions, 54 deletions
diff --git a/e2e/follow_properties.test.ts b/e2e/follow_properties.test.ts index 78597a5..4f2a5b8 100644 --- a/e2e/follow_properties.test.ts +++ b/e2e/follow_properties.test.ts @@ -1,16 +1,18 @@ -import * as path from 'path'; -import * as assert from 'assert'; - -import TestServer from './lib/TestServer'; -import eventually from './eventually'; -import { Builder, Lanthan } from 'lanthan'; -import { WebDriver, Key } from 'selenium-webdriver'; -import Page from './lib/Page'; +import * as path from "path"; +import * as assert from "assert"; + +import TestServer from "./lib/TestServer"; +import eventually from "./eventually"; +import { Builder, Lanthan } from "lanthan"; +import { WebDriver, Key } from "selenium-webdriver"; +import Page from "./lib/Page"; import SettingRepository from "./lib/SettingRepository"; import Settings from "../src/shared/settings/Settings"; -describe('follow properties test', () => { - const server = new TestServer().receiveContent('/', ` +describe("follow properties test", () => { + const server = new TestServer().receiveContent( + "/", + ` <!DOCTYPE html> <html lang="en"><body> <a href="/">link1</a> @@ -18,67 +20,69 @@ describe('follow properties test', () => { <a href="/">link3</a> <a href="/">link4</a> <a href="/">link5</a> - </body></html>`); + </body></html>` + ); let lanthan: Lanthan; let webdriver: WebDriver; let browser: any; let page: Page; - before(async() => { - lanthan = await Builder - .forBrowser('firefox') - .spyAddon(path.join(__dirname, '..')) + before(async () => { + lanthan = await Builder.forBrowser("firefox") + .spyAddon(path.join(__dirname, "..")) .build(); webdriver = lanthan.getWebDriver(); browser = lanthan.getWebExtBrowser(); - await new SettingRepository(browser).saveJSON(Settings.fromJSON({ - "keymaps": { - ":": { "type": "command.show" }, - "f": { "type": "follow.start", "newTab": false }, - "F": { "type": "follow.start", "newTab": true, "background": false }, - "<C-F>": { "type": "follow.start", "newTab": true, "background": true } - }, - "properties": { - "hintchars": "jk" - } - })); + await new SettingRepository(browser).saveJSON( + Settings.fromJSON({ + keymaps: { + ":": { type: "command.show" }, + f: { type: "follow.start", newTab: false }, + F: { type: "follow.start", newTab: true, background: false }, + "<C-F>": { type: "follow.start", newTab: true, background: true }, + }, + properties: { + hintchars: "jk", + }, + }) + ); await server.start(); }); - after(async() => { + after(async () => { await server.stop(); if (lanthan) { await lanthan.quit(); } }); - beforeEach(async() => { + beforeEach(async () => { page = await Page.navigateTo(webdriver, server.url()); }); - afterEach(async() => { + afterEach(async () => { const tabs = await browser.tabs.query({}); for (const tab of tabs.slice(1)) { await browser.tabs.remove(tab.id); } }); - it('should show hints with hintchars by settings', async () => { - await page.sendKeys('f'); + it("should show hints with hintchars by settings", async () => { + await page.sendKeys("f"); let hints = await page.waitAndGetHints(); assert.strictEqual(hints.length, 5); - assert.strictEqual(hints[0].text, 'J'); - assert.strictEqual(hints[1].text, 'K'); - assert.strictEqual(hints[2].text, 'JJ'); - assert.strictEqual(hints[3].text, 'JK'); - assert.strictEqual(hints[4].text, 'KJ'); + assert.strictEqual(hints[0].text, "J"); + assert.strictEqual(hints[1].text, "K"); + assert.strictEqual(hints[2].text, "JJ"); + assert.strictEqual(hints[3].text, "JK"); + assert.strictEqual(hints[4].text, "KJ"); - await page.sendKeys('j'); + await page.sendKeys("j"); hints = await page.waitAndGetHints(); assert.strictEqual(hints[0].displayed, true); @@ -88,45 +92,45 @@ describe('follow properties test', () => { assert.strictEqual(hints[4].displayed, false); }); - it('should open tab in background by background:false', async () => { - await page.sendKeys(Key.SHIFT, 'f'); + it("should open tab in background by background:false", async () => { + await page.sendKeys(Key.SHIFT, "f"); await page.waitAndGetHints(); - await page.sendKeys('jj'); + await page.sendKeys("jj"); - await eventually(async() => { + await eventually(async () => { const tabs = await browser.tabs.query({}); assert.strictEqual(tabs[0].active, false); assert.strictEqual(tabs[1].active, true); }); }); - it('should open tab in background by background:true', async () => { - await page.sendKeys(Key.CONTROL, 'f'); + it("should open tab in background by background:true", async () => { + await page.sendKeys(Key.CONTROL, "f"); await page.waitAndGetHints(); - await page.sendKeys('jj'); + await page.sendKeys("jj"); - await eventually(async() => { + await eventually(async () => { const tabs = await browser.tabs.query({}); assert.strictEqual(tabs[0].active, true); assert.strictEqual(tabs[1].active, false); }); }); - it('should show hints with hintchars by settings', async () => { + it("should show hints with hintchars by settings", async () => { const console = await page.showConsole(); - await console.execCommand('set hintchars=abc'); + await console.execCommand("set hintchars=abc"); await (webdriver.switchTo() as any).parentFrame(); - await page.sendKeys('f'); + await page.sendKeys("f"); let hints = await page.waitAndGetHints(); assert.strictEqual(hints.length, 5); - assert.strictEqual(hints[0].text, 'A'); - assert.strictEqual(hints[1].text, 'B'); - assert.strictEqual(hints[2].text, 'C'); - assert.strictEqual(hints[3].text, 'AA'); - assert.strictEqual(hints[4].text, 'AB'); + assert.strictEqual(hints[0].text, "A"); + assert.strictEqual(hints[1].text, "B"); + assert.strictEqual(hints[2].text, "C"); + assert.strictEqual(hints[3].text, "AA"); + assert.strictEqual(hints[4].text, "AB"); - await page.sendKeys('a'); + await page.sendKeys("a"); hints = await page.waitAndGetHints(); assert.strictEqual(hints[0].displayed, true); assert.strictEqual(hints[1].displayed, false); |