products/Sources/formale Sprachen/C/Firefox/layout/forms/test/test_bug672810.html
<!DOCTYPE HTML >
<html >
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=672810
-->
<head >
<title >Test for Bug 672810</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=672810 " >Mozilla Bug 672810</a>
<p id="display" ></p>
<div id="content" >
<select id="s1" multiple size="10" ><option >x<option >x<option >x<option >x<option >x<option >x<option >x<option >x<option >x<option >x</select >
<select id="s2" size="10" ><option >x<option >x<option >x<option >x<option >x<option >x<option >x<option >x<option >x<option >x</select >
<select id="s3" size="1" ><option >x<option >x<option >x<option >x<option >x<option >x<option >x<option >x<option >x<option >x</select >
</div >
<pre id="test" >
<script type="application/javascript" >
/** Test for Bug 672810 **/
SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(function() {
var sel = document.getElementsByTagName('select' );
sel[0].addEventListener('focus' , function() {
s = sel[0];
s.removeEventListener('focus' , arguments.callee);
synthesizeKey('KEY_ArrowDown' );
is(s.selectedIndex,0, s.id + ": initial DOWN selects first option" );
synthesizeKey('KEY_ArrowDown' , {ctrlKey: true});
is(s.selectedIndex,0, s.id + ": first option is still selected" );
ok(!s[1].selected,s.id + ": CTRL+DOWN did not select 2nd option" );
synthesizeKey('KEY_ArrowDown' , {ctrlKey: true});
synthesizeKey('KEY_ArrowDown' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,0, s.id + ": first option is still selected" );
ok(!s[1].selected,s.id + ": 2nd option is still unselected" );
ok(s[2].selected,s.id + ": 3rd option is selected" );
ok(s[3].selected,s.id + ": 4th option is selected" );
ok(!s[4].selected,s.id + ": 5th option is unselected" );
synthesizeKey('KEY_ArrowDown' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,0, s.id + ": first option is still selected" );
ok(!s[1].selected,s.id + ": 2nd option is still unselected" );
ok(s[2].selected,s.id + ": 3rd option is still selected" );
ok(s[3].selected,s.id + ": 4th option is still selected" );
ok(s[4].selected,s.id + ": 5th option is selected" );
ok(!s[5].selected,s.id + ": 6th option is unselected" );
synthesizeKey('KEY_ArrowUp' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,0, s.id + ": first option is still selected" );
ok(!s[1].selected,s.id + ": 2nd option is still unselected" );
ok(s[2].selected,s.id + ": 3rd option is still selected" );
ok(s[3].selected,s.id + ": 4th option is still selected" );
ok(s[4].selected,s.id + ": 5th option is still selected" );
ok(!s[5].selected,s.id + ": 6th option is still unselected" );
synthesizeKey(' ' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,0, s.id + ": first option is still selected" );
ok(!s[1].selected,s.id + ": 2nd option is still unselected" );
ok(s[2].selected,s.id + ": 3rd option is still selected" );
ok(!s[3].selected,s.id + ": 4th option is unselected" );
ok(s[4].selected,s.id + ": 5th option is still selected" );
ok(!s[5].selected,s.id + ": 6th option is still unselected" );
synthesizeKey(' ' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,0, s.id + ": first option is still selected" );
ok(!s[1].selected,s.id + ": 2nd option is still unselected" );
ok(s[2].selected,s.id + ": 3rd option is still selected" );
ok(s[3].selected,s.id + ": 4th option is selected" );
ok(s[4].selected,s.id + ": 5th option is still selected" );
ok(!s[5].selected,s.id + ": 6th option is still unselected" );
setTimeout(function(){sel[1].focus()},0);
});
sel[1].addEventListener('focus' , function() {
s = sel[1];
s.removeEventListener('focus' , arguments.callee);
synthesizeKey('KEY_ArrowDown' );
is(s.selectedIndex,0, s.id + ": initial DOWN selects first option" );
synthesizeKey('KEY_ArrowDown' , {ctrlKey: true});
is(s.selectedIndex,1, s.id + ": 2nd option is selected" );
ok(!s[0].selected,s.id + ": CTRL+DOWN deselected first option" );
synthesizeKey('KEY_ArrowDown' , {ctrlKey: true});
synthesizeKey('KEY_ArrowDown' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,3, s.id + ": 4th option is selected" );
ok(!s[1].selected,s.id + ": CTRL+SHIFT+DOWN deselected 2nd option" );
synthesizeKey(' ' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,3, s.id + ": 4th option is still selected" );
synthesizeKey(' ' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,3, s.id + ": 4th option is still selected" );
setTimeout(function(){sel[2].focus()},0);
});
sel[2].addEventListener('focus' , function() {
if (!navigator.platform.includes("Mac" )) {
s = sel[2];
s.removeEventListener('focus' , arguments.callee);
synthesizeKey('KEY_ArrowDown' );
is(s.selectedIndex,1, s.id + ": initial DOWN selects 2nd option" );
synthesizeKey('KEY_ArrowDown' , {ctrlKey: true});
is(s.selectedIndex,2, s.id + ": 3rd option is selected" );
ok(!s[1].selected,s.id + ": CTRL+DOWN deselected 2nd option" );
synthesizeKey('KEY_ArrowDown' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,3, s.id + ": 4th option is selected" );
ok(!s[2].selected,s.id + ": CTRL+SHIFT+DOWN deselected 3rd option" );
synthesizeKey(' ' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,3, s.id + ": 4th option is still selected" );
synthesizeKey(' ' , {ctrlKey: true, shiftKey: true});
is(s.selectedIndex,3, s.id + ": 4th option is still selected" );
} else {
todo(false, "Make this test work on OSX" );
}
setTimeout(function(){SimpleTest.finish()},0);
});
sel[0].focus();
});
</script >
</pre >
</body >
</html >
quality 100%
¤ Dauer der Verarbeitung: 0.19 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland