From 7df99cf232514e4545cb4363b995e851f44f41d2 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Thu, 18 Apr 2019 21:54:56 +0900 Subject: Add e2e tests for "complete" property --- e2e/completion_open.test.js | 123 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) (limited to 'e2e/completion_open.test.js') diff --git a/e2e/completion_open.test.js b/e2e/completion_open.test.js index 59d6b83..80628b3 100644 --- a/e2e/completion_open.test.js +++ b/e2e/completion_open.test.js @@ -129,4 +129,127 @@ describe("completion on open/tabopen/winopen commands", () => { assert(items.every(x => x.includes('https://'))); }); }) + + it('should display only specified items in "complete" property by set command', async() => { + let c = new Console(session); + + const execCommand = async(line) => { + await body.sendKeys(':'); + await session.switchToFrame(0); + await c.sendKeys(line, Key.Enter); + await session.switchToParentFrame(); + } + + const typeCommand = async(...keys) => { + await body.sendKeys(':'); + await session.switchToFrame(0); + await c.sendKeys(...keys); + } + + const cancel = async() => { + await c.sendKeys(Key.Escape); + await session.switchToParentFrame(); + } + + await execCommand('set complete=sbh'); + await typeCommand('open '); + + await eventually(async() => { + let completions = await c.getCompletions(); + let titles = completions.filter(x => x.type === 'title').map(x => x.text); + assert.deepEqual(titles, ['Search Engines', 'Bookmarks', 'History']) + }); + + await cancel(); + await execCommand('set complete=bss'); + await typeCommand('open '); + + await eventually(async() => { + let completions = await c.getCompletions(); + let titles = completions.filter(x => x.type === 'title').map(x => x.text); + assert.deepEqual(titles, ['Bookmarks', 'Search Engines', 'Search Engines']) + }); + }) + + it('should display only specified items in "complete" property by setting', async() => { + const settings = { + source: 'json', + json: `{ + "keymaps": { + ":": { "type": "command.show" } + }, + "search": { + "default": "google", + "engines": { "google": "https://google.com/search?q={}" } + }, + "properties": { + "complete": "sbh" + } + }`, + }; + await browser.storage.local.set({ settings, }); + + let c = new Console(session); + + const typeCommand = async(...keys) => { + await body.sendKeys(':'); + await session.switchToFrame(0); + await c.sendKeys(...keys); + } + + const cancel = async() => { + await c.sendKeys(Key.Escape); + await session.switchToParentFrame(); + } + + await browser.storage.local.set({ settings: { + source: 'json', + json: `{ + "keymaps": { + ":": { "type": "command.show" } + }, + "search": { + "default": "google", + "engines": { "google": "https://google.com/search?q={}" } + }, + "properties": { + "complete": "sbh" + } + }`, + }}); + await typeCommand('open '); + + await eventually(async() => { + let completions = await c.getCompletions(); + let titles = completions.filter(x => x.type === 'title').map(x => x.text); + assert.deepEqual(titles, ['Search Engines', 'Bookmarks', 'History']) + }); + + await cancel(); + + await browser.storage.local.set({ settings: { + source: 'json', + json: `{ + "keymaps": { + ":": { "type": "command.show" } + }, + "search": { + "default": "google", + "engines": { "google": "https://google.com/search?q={}" } + }, + "properties": { + "complete": "bss" + } + }`, + }}); + await typeCommand('open '); + + await eventually(async() => { + let completions = await c.getCompletions(); + let titles = completions.filter(x => x.type === 'title').map(x => x.text); + assert.deepEqual(titles, ['Bookmarks', 'Search Engines', 'Search Engines']) + }); + + + }) }); -- cgit v1.2.3