61 lines
2.1 KiB
HTML
61 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
<select id="selectElement" multiple size="4">
|
|
<option>1</option>
|
|
<option>2</option>
|
|
<option>3</option>
|
|
<option>4</option>
|
|
<option>5</option>
|
|
<option>6</option>
|
|
<option>7</option>
|
|
<option>8</option>
|
|
</select>
|
|
|
|
<script>
|
|
description('Click on a listbox scrollbar should not dispatch change evnet.');
|
|
jsTestIsAsync = true;
|
|
var selectElement = document.getElementById('selectElement');
|
|
var changeEventCounter = 0;
|
|
selectElement.onchange = function() {
|
|
debug('A change event was dispatched.');
|
|
++changeEventCounter;
|
|
}
|
|
|
|
window.onload = function() {
|
|
if (!window.eventSender)
|
|
debug('Click on the scrollbar. The test passes if nothing is printed.');
|
|
else {
|
|
debug('Click on the scrollbar. No change event should be fired.')
|
|
eventSender.mouseMoveTo(selectElement.offsetLeft + selectElement.offsetWidth - 2, selectElement.offsetTop + selectElement.offsetHeight - 2);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
shouldBe('selectElement.selectedIndex', '-1');
|
|
shouldBe('changeEventCounter', '0');
|
|
|
|
debug('');
|
|
debug('Click on the first option. A change event should be fired.');
|
|
eventSender.mouseMoveTo(selectElement.offsetLeft + 4, selectElement.offsetTop + 4);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
shouldBe('selectElement.selectedIndex', '0');
|
|
shouldBe('changeEventCounter', '1');
|
|
|
|
debug('');
|
|
debug('Add an option item and then click on the scrollbar again. No change event should be fired.');
|
|
selectElement.appendChild(new Option('9'));
|
|
eventSender.mouseMoveTo(selectElement.offsetLeft + selectElement.offsetWidth - 2, selectElement.offsetTop + selectElement.offsetHeight - 2);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
shouldBe('selectElement.selectedIndex', '0');
|
|
shouldBe('changeEventCounter', '1');
|
|
|
|
debug('');
|
|
finishJSTest();
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</html> |