test: add a <datalist>
spec for time type (#36953)
spec: add a datalist spec for time type
This commit is contained in:
parent
f20d0b4ecb
commit
37f5881882
4 changed files with 49 additions and 15 deletions
|
@ -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');
|
||||
});
|
||||
});
|
||||
|
|
15
spec/fixtures/pages/datalist-text.html
vendored
Normal file
15
spec/fixtures/pages/datalist-text.html
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<body>
|
||||
<input type="text" list="guitarists" />
|
||||
<datalist id="guitarists">
|
||||
<select>
|
||||
<option value="John Mayer"></option>
|
||||
<option value="Eric Clapton"></option>
|
||||
<option value="Django Reinhardt"></option>
|
||||
</select>
|
||||
</datalist>
|
||||
</body>
|
||||
|
||||
</html>
|
13
spec/fixtures/pages/datalist-time.html
vendored
Normal file
13
spec/fixtures/pages/datalist-time.html
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<body>
|
||||
<input type="time" list="hours" />
|
||||
<datalist id="popularHours">
|
||||
<option value="12:00"></option>
|
||||
<option value="13:00"></option>
|
||||
<option value="14:00"></option>
|
||||
</datalist>
|
||||
</body>
|
||||
|
||||
</html>
|
13
spec/fixtures/pages/datalist.html
vendored
13
spec/fixtures/pages/datalist.html
vendored
|
@ -1,13 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<input type="text" list="guitarists" />
|
||||
<datalist id="guitarists">
|
||||
<select>
|
||||
<option value="John Mayer"></option>
|
||||
<option value="Eric Clapton"></option>
|
||||
<option value="Django Reinhardt"></option>
|
||||
</select>
|
||||
</datalist>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue