products/Sources/formale Sprachen/C/Firefox/layout/forms/test/test_bug571352.html
<!
DOCTYPE HTML >
<
html >
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=571352
-->
<
head >
<
title >Test for Bug
571352 </
title >
<
script src=
"/tests/SimpleTest/SimpleTest.js" ></
script >
<
script src=
"/tests/SimpleTest/EventUtils.js" ></
script >
<
link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
</
head >
<
body >
<a target=
"_blank" href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=571352 " >Mozill
a Bug 571352 </a>
<p id="display" ><select multiple style ="width:300px/*to avoid any overlay scrollbar messing with our mouse clicks*/" ><option >0 <option >1 <option >2 <option >3 <option >4 <option >5 </select ></p>
<div id="content" style ="display: none" >
</div >
<pre id="test" >
<script type="application/javascript" >
/** Test for Bug 571352 **/
SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(function test() {
function focusList() {
$('display' ).firstChild.focus();
}
function option (index) {
return $('display' ).firstChild.childNodes[index];
}
function remove(index) {
var sel = $('display' ).firstChild;
sel.removeChild(sel.childNodes[index]);
document.body .clientHeight;
}
function up() { synthesizeKey("KEY_ArrowUp" ); }
function shiftUp() { synthesizeKey("KEY_ArrowUp" , {shiftKey:true}); }
function down() { synthesizeKey("KEY_ArrowDown" ); }
function shiftDown() { synthesizeKey("KEY_ArrowDown" , {shiftKey:true}); }
function mouseEvent(index,event) {
synthesizeMouse(option (index), 5 , 5 , event);
}
const click = {};
const shiftClick = {shiftKey:true};
focusList();
mouseEvent(0 ,click)
is(document.activeElement,$('display' ).firstChild,"<select> is focused" );
ok(option (0 ).selected,"first option is selected" );
mouseEvent(2 ,shiftClick)
remove(0 );
ok(option (0 ).selected && option (1 ).selected,"first two options are selected" );
mouseEvent(2 ,shiftClick)
ok(option (0 ).selected && option (1 ).selected && option (2 ).selected,"first three options are selected" );
shiftUp();
ok(option (0 ).selected && option (1 ).selected,"first two options are selected" );
remove(1 );
ok(option (0 ).selected,"first option is selected" );
shiftDown();
ok(option (0 ).selected && option (1 ).selected,"first two options are selected" );
down();
ok(option (2 ).selected,"third option is selected" );
shiftDown();
ok(option (2 ).selected && option (3 ).selected,"third & fourth option are selected" );
remove(2 );
shiftUp();
ok(option (1 ).selected && option (2 ).selected,"2nd & third option are selected" );
remove(0 );
mouseEvent(0 ,shiftClick)
ok(option (0 ).selected && option (1 ).selected,"all remaining 2 options are selected" );
shiftDown();
remove(1 );
ok(!option (0 ).selected,"first option is unselected" );
remove(0 ); // select is now empty
ok($('display' ).firstChild.firstChild==null,"all options were removed" );
SimpleTest.finish();
});
</script >
</pre >
</body >
</html >
Messung V0.5 in Prozent C=90 H=97 G=93
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet am 2026-06-04)
¤
*© Formatika GbR, Deutschland