gecko-dev/toolkit/content/tests/chrome/test_bug792324.xul

76 строки
2.1 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"?>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=792324
-->
<window title="Mozilla Bug 792324"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
<body xmlns="http://www.w3.org/1999/xhtml">
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=792324">Mozilla Bug 792324</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
</body>
<panel id="panel-1">
<button label="just a normal button"/>
<button id="button-1"
accesskey="X"
oncommand="clicked(event)"
label="Button in panel 1"
/>
</panel>
<panel id="panel-2">
<button label="just a normal button"/>
<button id="button-2"
accesskey="X"
oncommand="clicked(event)"
label="Button in panel 2"
/>
</panel>
<script class="testbody" type="application/javascript;version=1.7"><![CDATA[
/** Test for Bug 792324 **/
let after_click;
function clicked(event) {
after_click(event);
}
function checkAccessKeyOnPanel(panelid, buttonid, cb) {
let panel = document.getElementById(panelid);
panel.addEventListener("popupshown", function onpopupshown() {
panel.removeEventListener("popupshown", onpopupshown);
panel.firstChild.focus();
after_click = function(event) {
is(event.target.id, buttonid, "Accesskey was directed to the button '" + buttonid + "'");
panel.hidePopup();
cb();
}
synthesizeKey("X", {});
});
panel.openPopup(null, "", 100, 100, false, false);
}
function test() {
checkAccessKeyOnPanel("panel-1", "button-1", function() {
checkAccessKeyOnPanel("panel-2", "button-2", function() {
SimpleTest.finish();
});
});
}
SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(test, window);
]]></script>
</window>