71 lines
2.8 KiB
HTML
71 lines
2.8 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-actions.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
|
|
</head>
|
|
<body onload=runTest()>
|
|
<p>Moving the cursor using the arrow keys into an
|
|
input element fires scroll events when text has to scroll into view.
|
|
Uses arrow keys to move forward and backwards in the input
|
|
element.</p>
|
|
<input type="text" style='width: 50px'
|
|
value="Fooooooooooooooooooooooooooooooooooooooooooooooooo"/>
|
|
<textarea rows="4" cols="4">
|
|
Fooooooooooooooooooooooooooooooooooooooooooooooooo
|
|
</textarea>
|
|
|
|
<script>
|
|
async function moveCursorRightInsideElement(element, value){
|
|
var arrowRight = '\uE014';
|
|
for(var i=0;i<value;i++){
|
|
await test_driver.send_keys(element, arrowRight);
|
|
}
|
|
}
|
|
|
|
function runTest(){
|
|
promise_test(async(t) => { return new Promise(async (resolve, reject) => {
|
|
var input = document.getElementsByTagName('input')[0];
|
|
function handleScroll(){
|
|
resolve("Scroll Event successfully fired!");
|
|
}
|
|
input.addEventListener('scroll', handleScroll, false);
|
|
// move cursor to the right until the text scrolls
|
|
while(input.scrollLeft === 0){
|
|
await moveCursorRightInsideElement(input, 1);
|
|
}
|
|
// if there is no scroll event fired then test will fail by timeout
|
|
})},
|
|
/*
|
|
Moving the cursor using the arrow keys into an input element
|
|
fires scroll events when text has to scroll into view.
|
|
Uses arrow keys to move right in the input element.
|
|
*/
|
|
"Scroll event fired for <input> element.");
|
|
|
|
promise_test(async(t) => { return new Promise(async (resolve, reject) => {
|
|
var textarea = document.getElementsByTagName('textarea')[0];
|
|
function handleScroll(){
|
|
resolve("Scroll Event successfully fired!");
|
|
}
|
|
textarea.addEventListener('scroll', handleScroll, false);
|
|
// move cursor to the right until the text scrolls
|
|
while(textarea.scrollLeft === 0){
|
|
await moveCursorRightInsideElement(textarea, 1);
|
|
}
|
|
// if there is no scroll event fired then test will fail by timeout
|
|
})},
|
|
/*
|
|
Moving the cursor using the arrow keys into a textarea element
|
|
fires scroll events when text has to scroll into view.
|
|
Uses arrow keys to move right in the textarea element.
|
|
*/
|
|
"Scroll event fired for <textarea> element.");
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|