gecko/toolkit/content/tests/chrome/test_menuitem_commands.xul

105 lines
3.4 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="Menuitem Commands Test"
onload="runOrOpen()"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
<script>
<![CDATA[
SimpleTest.waitForExplicitFinish();
function checkAttributes(elem, label, accesskey, disabled, hidden, isAfter)
{
var is = window.opener.wrappedJSObject.SimpleTest.is;
is(elem.getAttribute("label"), label, elem.id + " label " + (isAfter ? "after" : "before") + " open");
is(elem.getAttribute("accesskey"), accesskey, elem.id + " accesskey " + (isAfter ? "after" : "before") + " open");
is(elem.getAttribute("disabled"), disabled, elem.id + " disabled " + (isAfter ? "after" : "before") + " open");
is(elem.getAttribute("hidden"), hidden, elem.id + " hidden " + (isAfter ? "after" : "before") + " open");
}
function runOrOpen()
{
if (window.opener) {
SimpleTest.waitForFocus(runTest);
}
else {
window.open("test_menuitem_commands.xul", "", "chrome");
}
}
function runTest()
{
runTestSet("");
runTestSet("bar");
window.close();
window.opener.wrappedJSObject.SimpleTest.finish();
}
function runTestSet(suffix)
{
var isMac = (navigator.platform.indexOf("Mac") >= 0);
var one = $("one" + suffix);
var two = $("two" + suffix);
var three = $("three" + suffix);
var four = $("four" + suffix);
checkAttributes(one, "One", "", "", "true", false);
checkAttributes(two, "", "", "false", "", false);
checkAttributes(three, "Three", "T", "true", "", false);
checkAttributes(four, "Four", "F", "", "", false);
if (isMac && suffix) {
var utils = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor).
getInterface(Components.interfaces.nsIDOMWindowUtils);
utils.forceUpdateNativeMenuAt("0");
}
else {
$("menu" + suffix).open = true;
}
checkAttributes(one, "One", "", "", "false", true);
checkAttributes(two, "Cat", "C", "", "", true);
checkAttributes(three, "Dog", "D", "false", "true", true);
checkAttributes(four, "Four", "F", "true", "", true);
$("menu" + suffix).open = false;
}
]]>
</script>
<command id="cmd_one" hidden="false"/>
<command id="cmd_two" label="Cat" accesskey="C"/>
<command id="cmd_three" label="Dog" accesskey="D" disabled="false" hidden="true"/>
<command id="cmd_four" disabled="true"/>
<button id="menu" type="menu">
<menupopup>
<menuitem id="one" label="One" hidden="true" command="cmd_one"/>
<menuitem id="two" disabled="false" command="cmd_two"/>
<menuitem id="three" label="Three" accesskey="T" disabled="true" command="cmd_three"/>
<menuitem id="four" label="Four" accesskey="F" command="cmd_four"/>
</menupopup>
</button>
<menubar>
<menu id="menubar" label="Sample">
<menupopup>
<menuitem id="onebar" label="One" hidden="true" command="cmd_one"/>
<menuitem id="twobar" disabled="false" command="cmd_two"/>
<menuitem id="threebar" label="Three" accesskey="T" disabled="true" command="cmd_three"/>
<menuitem id="fourbar" label="Four" accesskey="F" command="cmd_four"/>
</menupopup>
</menu>
</menubar>
<body xmlns="http://www.w3.org/1999/xhtml"><p id="display"/></body>
</window>