diff --git a/spec/autofill-spec.ts b/spec/autofill-spec.ts index 4ae39e29f5..4917780965 100644 --- a/spec/autofill-spec.ts +++ b/spec/autofill-spec.ts @@ -9,10 +9,11 @@ const fixturesPath = path.resolve(__dirname, 'fixtures'); describe('autofill', () => { afterEach(closeAllWindows); - it('can be selected via keyboard', async () => { + it('can be selected via keyboard for a with text type', async () => { const w = new BrowserWindow({ show: true }); - await w.loadFile(path.join(fixturesPath, 'pages', 'datalist.html')); + await w.loadFile(path.join(fixturesPath, 'pages', 'datalist-text.html')); w.webContents.sendInputEvent({ type: 'keyDown', keyCode: 'Tab' }); + const inputText = 'clap'; for (const keyCode of inputText) { w.webContents.sendInputEvent({ type: 'char', keyCode }); @@ -25,4 +26,22 @@ describe('autofill', () => { const value = await w.webContents.executeJavaScript("document.querySelector('input').value"); expect(value).to.equal('Eric Clapton'); }); + + it('can be selected via keyboard for a with time type', async () => { + const w = new BrowserWindow({ show: true }); + await w.loadFile(path.join(fixturesPath, 'pages', 'datalist-time.html')); + + const inputText = '11P'; // 1:01 PM + for (const keyCode of inputText) { + w.webContents.sendInputEvent({ type: 'keyDown', keyCode: 'Tab' }); + w.webContents.sendInputEvent({ type: 'keyDown', keyCode }); + w.webContents.sendInputEvent({ type: 'char', keyCode }); + await delay(100); + } + + w.webContents.sendInputEvent({ type: 'keyDown', keyCode: 'Tab' }); + + const value = await w.webContents.executeJavaScript("document.querySelector('input').value"); + expect(value).to.equal('13:01'); + }); }); diff --git a/spec/fixtures/pages/datalist-text.html b/spec/fixtures/pages/datalist-text.html new file mode 100644 index 0000000000..fc1d2c2801 --- /dev/null +++ b/spec/fixtures/pages/datalist-text.html @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/spec/fixtures/pages/datalist-time.html b/spec/fixtures/pages/datalist-time.html new file mode 100644 index 0000000000..f38766eb83 --- /dev/null +++ b/spec/fixtures/pages/datalist-time.html @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/spec/fixtures/pages/datalist.html b/spec/fixtures/pages/datalist.html deleted file mode 100644 index 8fc56ecbf1..0000000000 --- a/spec/fixtures/pages/datalist.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - -