test: add a <datalist> spec for time type (#36953)

spec: add a datalist spec for time type
This commit is contained in:
Shelley Vohr 2023-01-23 17:21:28 +01:00 committed by GitHub
parent f20d0b4ecb
commit 37f5881882
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 49 additions and 15 deletions

View file

@ -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 <datalist> 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 <datalist> 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');
});
});