зеркало из https://github.com/mozilla/gecko-dev.git
98 строки
2.7 KiB
XML
98 строки
2.7 KiB
XML
<?xml version="1.0"?>
|
|
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
|
|
|
|
<window title="Tests for focus on elements with anonymous focusable children"
|
|
onload="SimpleTest.waitForFocus(runTests);"
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
|
|
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
|
|
|
|
<label accesskey="a" control="textbox"/>
|
|
<label accesskey="b" control="textbox2"/>
|
|
|
|
<textbox id="textbox"/>
|
|
<textbox id="textbox2"/>
|
|
|
|
<script class="testbody" type="application/javascript">
|
|
<![CDATA[
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var gBlurs = 0, gFocuses = 0;
|
|
var gExpectedBlur = "";
|
|
var gExpectedFocus = "";
|
|
|
|
function blurOccurred(event) {
|
|
gBlurs++;
|
|
is(event.originalTarget, gExpectedBlur, "blur " + gBlurs + "," + event.originalTarget.localName);
|
|
}
|
|
|
|
function focusOccurred(event) {
|
|
gFocuses++;
|
|
is(event.originalTarget, gExpectedFocus, "focus " + gFocuses + "," + event.originalTarget.localName);
|
|
}
|
|
|
|
function runTests()
|
|
{
|
|
addEventListener("focus", focusOccurred, true);
|
|
addEventListener("blur", blurOccurred, true);
|
|
|
|
gExpectedBlur = null;
|
|
gExpectedFocus = $("textbox").inputField;
|
|
$("textbox").focus();
|
|
|
|
gExpectedBlur = gExpectedFocus;
|
|
gExpectedFocus = $("textbox2").inputField;
|
|
$("textbox2").focus();
|
|
|
|
var accessKeyDetails = (navigator.platform.includes("Mac")) ?
|
|
{altKey: true, ctrlKey: true} :
|
|
{altKey: true, shiftKey: true};
|
|
|
|
gExpectedBlur = gExpectedFocus;
|
|
gExpectedFocus = $("textbox").inputField;
|
|
synthesizeKey("a", accessKeyDetails);
|
|
|
|
gExpectedBlur = gExpectedFocus;
|
|
gExpectedFocus = $("textbox2").inputField;
|
|
synthesizeKey("b", accessKeyDetails);
|
|
|
|
if (!navigator.platform.includes("Mac")) {
|
|
gExpectedBlur = gExpectedFocus;
|
|
gExpectedFocus = $("textbox").inputField;
|
|
synthesizeKey("KEY_Tab", {shiftKey: true});
|
|
|
|
gExpectedBlur = gExpectedFocus;
|
|
gExpectedFocus = $("textbox2").inputField;
|
|
synthesizeKey("KEY_Tab");
|
|
|
|
is(gBlurs, 5, "correct number of blurs");
|
|
is(gFocuses, 6, "correct number of focuses");
|
|
}
|
|
else {
|
|
is(gBlurs, 3, "correct number of blurs");
|
|
is(gFocuses, 4, "correct number of focuses");
|
|
}
|
|
|
|
removeEventListener("focus", focusOccurred, true);
|
|
removeEventListener("blur", blurOccurred, true);
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
]]>
|
|
</script>
|
|
|
|
<body xmlns="http://www.w3.org/1999/xhtml">
|
|
<p id="display">
|
|
</p>
|
|
<div id="content" style="display: none">
|
|
</div>
|
|
<pre id="test">
|
|
</pre>
|
|
</body>
|
|
|
|
</window>
|