no-textInput.sub.js (904B)
1 const els = document.querySelectorAll('.test-el'); 2 const key = "{{GET[key]}}"; 3 const keyRaw = keyMapping[key] || key; 4 const expectedData = key === "Enter" ? "\n" : key; 5 const selectionStart = {{GET[selectionStart]}}; 6 const selectionEnd = {{GET[selectionEnd]}}; 7 const expectedValue = "{{GET[expectedValue]}}"; 8 9 for (const el of els) { 10 promise_test(t => { 11 return new Promise((resolve, reject) => { 12 el.addEventListener('textInput', reject); 13 el.addEventListener('keyup', t.step_func(e => { 14 if (e.key !== key) { 15 return; 16 } 17 assert_equals(getValue(el), expectedValue); 18 resolve(); 19 })); 20 el.onfocus = t.step_func(e => { 21 if (window.test_driver) { 22 test_driver.send_keys(el, keyRaw); 23 } 24 }); 25 el.focus(); 26 setSelection(el, selectionStart, selectionEnd); 27 }); 28 }, `${document.title}, ${elDesc(el)}`); 29 }