aboutsummaryrefslogtreecommitdiff
path: root/e2e/completion_open.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'e2e/completion_open.test.ts')
-rw-r--r--e2e/completion_open.test.ts177
1 files changed, 110 insertions, 67 deletions
diff --git a/e2e/completion_open.test.ts b/e2e/completion_open.test.ts
index 95d4175..cefb44f 100644
--- a/e2e/completion_open.test.ts
+++ b/e2e/completion_open.test.ts
@@ -1,159 +1,202 @@
-import * as path from 'path';
-import * as assert from 'assert';
+import * as path from "path";
+import * as assert from "assert";
import Settings from "../src/shared/settings/Settings";
-import TestServer from './lib/TestServer';
-import eventually from './eventually';
-import { Builder, Lanthan } from 'lanthan';
-import { WebDriver } from 'selenium-webdriver';
-import Page from './lib/Page';
+import TestServer from "./lib/TestServer";
+import eventually from "./eventually";
+import { Builder, Lanthan } from "lanthan";
+import { WebDriver } from "selenium-webdriver";
+import Page from "./lib/Page";
import SettingRepository from "./lib/SettingRepository";
describe("completion on open/tabopen/winopen commands", () => {
- const server = new TestServer().receiveContent('/*', 'ok');
+ const server = new TestServer().receiveContent("/*", "ok");
let lanthan: Lanthan;
let webdriver: WebDriver;
let browser: any;
let page: Page;
- before(async() => {
+ before(async () => {
await server.start();
- lanthan = await Builder
- .forBrowser('firefox')
- .spyAddon(path.join(__dirname, '..'))
+ lanthan = await Builder.forBrowser("firefox")
+ .spyAddon(path.join(__dirname, ".."))
.build();
webdriver = lanthan.getWebDriver();
browser = lanthan.getWebExtBrowser();
// Add item into hitories
- await webdriver.navigate().to(('https://example.com/'));
+ await webdriver.navigate().to("https://example.com/");
});
- after(async() => {
+ after(async () => {
await server.stop();
if (lanthan) {
await lanthan.quit();
}
});
- beforeEach(async() => {
+ beforeEach(async () => {
page = await Page.navigateTo(webdriver, server.url());
});
- it('should show completions from search engines, bookmarks, and histories by "open" command', async() => {
+ it('should show completions from search engines, bookmarks, and histories by "open" command', async () => {
const console = await page.showConsole();
- await console.inputKeys('open ');
+ await console.inputKeys("open ");
- await eventually(async() => {
+ await eventually(async () => {
const completions = await console.getCompletions();
- assert.ok(completions.find(x => x.type === 'title' && x.text === 'Search Engines'));
- assert.ok(completions.find(x => x.type === 'title' && x.text === 'Bookmarks'));
- assert.ok(completions.find(x => x.type === 'title' && x.text === 'History'));
+ assert.ok(
+ completions.find(
+ (x) => x.type === "title" && x.text === "Search Engines"
+ )
+ );
+ assert.ok(
+ completions.find((x) => x.type === "title" && x.text === "Bookmarks")
+ );
+ assert.ok(
+ completions.find((x) => x.type === "title" && x.text === "History")
+ );
});
});
- it('should filter items with URLs by keywords on "open" command', async() => {
+ it('should filter items with URLs by keywords on "open" command', async () => {
const console = await page.showConsole();
- await console.inputKeys('open https://');
+ await console.inputKeys("open https://");
- await eventually(async() => {
+ await eventually(async () => {
const completions = await console.getCompletions();
- const items = completions.filter(x => x.type === 'item').map(x => x.text);
- assert.ok(items.every(x => x.includes('https://')));
+ const items = completions
+ .filter((x) => x.type === "item")
+ .map((x) => x.text);
+ assert.ok(items.every((x) => x.includes("https://")));
});
});
- it('should filter items with titles by keywords on "open" command', async() => {
+ it('should filter items with titles by keywords on "open" command', async () => {
const console = await page.showConsole();
- await console.inputKeys('open getting');
+ await console.inputKeys("open getting");
- await eventually(async() => {
+ await eventually(async () => {
const completions = await console.getCompletions();
- const items = completions.filter(x => x.type === 'item').map(x => x.text);
- assert.ok(items.every(x => x.toLowerCase().includes('getting')));
+ const items = completions
+ .filter((x) => x.type === "item")
+ .map((x) => x.text);
+ assert.ok(items.every((x) => x.toLowerCase().includes("getting")));
});
});
- it('should filter items with titles by keywords on "tabopen" command', async() => {
+ it('should filter items with titles by keywords on "tabopen" command', async () => {
const console = await page.showConsole();
- await console.inputKeys('tabopen getting');
+ await console.inputKeys("tabopen getting");
- await eventually(async() => {
+ await eventually(async () => {
const completions = await console.getCompletions();
- const items = completions.filter(x => x.type === 'item').map(x => x.text);
- assert.ok(items.every(x => x.includes('https://')));
+ const items = completions
+ .filter((x) => x.type === "item")
+ .map((x) => x.text);
+ assert.ok(items.every((x) => x.includes("https://")));
});
});
- it('should filter items with titles by keywords on "winopen" command', async() => {
+ it('should filter items with titles by keywords on "winopen" command', async () => {
const console = await page.showConsole();
- await console.inputKeys('winopen https://');
+ await console.inputKeys("winopen https://");
- await eventually(async() => {
+ await eventually(async () => {
const completions = await console.getCompletions();
- const items = completions.filter(x => x.type === 'item').map(x => x.text);
- assert.ok(items.every(x => x.includes('https://')));
+ const items = completions
+ .filter((x) => x.type === "item")
+ .map((x) => x.text);
+ assert.ok(items.every((x) => x.includes("https://")));
});
});
- it('should display only specified items in "complete" property by set command', async() => {
+ it('should display only specified items in "complete" property by set command', async () => {
let console = await page.showConsole();
- await console.execCommand('set complete=sbh');
+ await console.execCommand("set complete=sbh");
await (webdriver.switchTo() as any).parentFrame();
console = await page.showConsole();
- await console.inputKeys('open ');
+ await console.inputKeys("open ");
- await eventually(async() => {
+ await eventually(async () => {
const completions = await console.getCompletions();
- const titles = completions.filter(x => x.type === 'title').map(x => x.text);
- assert.deepStrictEqual(titles, ['Search Engines', 'Bookmarks', 'History'])
+ const titles = completions
+ .filter((x) => x.type === "title")
+ .map((x) => x.text);
+ assert.deepStrictEqual(titles, [
+ "Search Engines",
+ "Bookmarks",
+ "History",
+ ]);
});
await console.close();
console = await page.showConsole();
- await console.execCommand('set complete=bss');
+ await console.execCommand("set complete=bss");
await (webdriver.switchTo() as any).parentFrame();
console = await page.showConsole();
- await console.inputKeys('open ');
+ await console.inputKeys("open ");
- await eventually(async() => {
+ await eventually(async () => {
const completions = await console.getCompletions();
- const titles = completions.filter(x => x.type === 'title').map(x => x.text);
- assert.deepStrictEqual(titles, ['Bookmarks', 'Search Engines', 'Search Engines'])
+ const titles = completions
+ .filter((x) => x.type === "title")
+ .map((x) => x.text);
+ assert.deepStrictEqual(titles, [
+ "Bookmarks",
+ "Search Engines",
+ "Search Engines",
+ ]);
});
});
- it('should display only specified items in "complete" property by setting', async() => {
- new SettingRepository(browser).saveJSON(Settings.fromJSON({
- properties: { complete: "sbh" },
- }));
+ it('should display only specified items in "complete" property by setting', async () => {
+ new SettingRepository(browser).saveJSON(
+ Settings.fromJSON({
+ properties: { complete: "sbh" },
+ })
+ );
let console = await page.showConsole();
- await console.inputKeys('open ');
+ await console.inputKeys("open ");
- await eventually(async() => {
+ await eventually(async () => {
const completions = await console.getCompletions();
- const titles = completions.filter(x => x.type === 'title').map(x => x.text);
- assert.deepStrictEqual(titles, ['Search Engines', 'Bookmarks', 'History'])
+ const titles = completions
+ .filter((x) => x.type === "title")
+ .map((x) => x.text);
+ assert.deepStrictEqual(titles, [
+ "Search Engines",
+ "Bookmarks",
+ "History",
+ ]);
});
await console.close();
await (webdriver.switchTo() as any).parentFrame();
- new SettingRepository(browser).saveJSON(Settings.fromJSON({
- properties: { complete: "bss" },
- }));
+ new SettingRepository(browser).saveJSON(
+ Settings.fromJSON({
+ properties: { complete: "bss" },
+ })
+ );
console = await page.showConsole();
- await console.inputKeys('open ');
+ await console.inputKeys("open ");
- await eventually(async() => {
+ await eventually(async () => {
const completions = await console.getCompletions();
- const titles = completions.filter(x => x.type === 'title').map(x => x.text);
- assert.deepStrictEqual(titles, ['Bookmarks', 'Search Engines', 'Search Engines'])
+ const titles = completions
+ .filter((x) => x.type === "title")
+ .map((x) => x.text);
+ assert.deepStrictEqual(titles, [
+ "Bookmarks",
+ "Search Engines",
+ "Search Engines",
+ ]);
});
});
});