mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 17:31:47 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
138
toolkit/content/tests/widgets/test_contextmenu_nested.xul
Normal file
138
toolkit/content/tests/widgets/test_contextmenu_nested.xul
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
||||
<?xml-stylesheet href="/tests/SimpleTest/test.css" type="text/css"?>
|
||||
|
||||
<window title="Nested Context Menu Tests"
|
||||
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>
|
||||
<script type="application/javascript" src="popup_shared.js"></script>
|
||||
|
||||
<menupopup id="outercontext">
|
||||
<menuitem label="Context One"/>
|
||||
<menu id="outercontextmenu" label="Sub">
|
||||
<menupopup id="innercontext">
|
||||
<menuitem id="innercontextmenu" label="Sub Context One"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
|
||||
<menupopup id="outermain">
|
||||
<menuitem label="One"/>
|
||||
<menu id="outermenu" label="Sub">
|
||||
<menupopup id="innermain">
|
||||
<menuitem id="innermenu" label="Sub One" context="outercontext"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
|
||||
<button label="Check"/>
|
||||
|
||||
<vbox id="popuparea" popup="outermain" width="20" height="20"/>
|
||||
|
||||
<script type="application/javascript">
|
||||
<![CDATA[
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
var popupTests = [
|
||||
{
|
||||
testname: "open outer popup",
|
||||
events: [ "popupshowing outermain", "popupshown outermain" ],
|
||||
test: () => synthesizeMouse($("popuparea"), 4, 4, {}),
|
||||
result: function (testname) {
|
||||
is($("outermain").triggerNode, $("popuparea"), testname);
|
||||
is(document.popupNode, $("popuparea"), testname + " document.popupNode");
|
||||
}
|
||||
},
|
||||
{
|
||||
testname: "open inner popup",
|
||||
events: [ "DOMMenuItemActive outermenu", "popupshowing innermain", "popupshown innermain" ],
|
||||
test: function () {
|
||||
synthesizeMouse($("outermenu"), 4, 4, { type: "mousemove" });
|
||||
synthesizeMouse($("outermenu"), 2, 2, { type: "mousemove" });
|
||||
},
|
||||
result: function (testname) {
|
||||
is($("outermain").triggerNode, $("popuparea"), testname + " outer");
|
||||
is($("innermain").triggerNode, $("popuparea"), testname + " inner");
|
||||
is($("outercontext").triggerNode, null, testname + " outer context");
|
||||
is(document.popupNode, $("popuparea"), testname + " document.popupNode");
|
||||
}
|
||||
},
|
||||
{
|
||||
testname: "open outer context",
|
||||
condition: function() { return (navigator.platform.indexOf("Mac") == -1); },
|
||||
events: [ "popupshowing outercontext", "popupshown outercontext" ],
|
||||
test: () => synthesizeMouse($("innermenu"), 4, 4, { type: "contextmenu", button: 2 }),
|
||||
result: function (testname) {
|
||||
is($("outermain").triggerNode, $("popuparea"), testname + " outer");
|
||||
is($("innermain").triggerNode, $("popuparea"), testname + " inner");
|
||||
is($("outercontext").triggerNode, $("innermenu"), testname + " outer context");
|
||||
is(document.popupNode, $("innermenu"), testname + " document.popupNode");
|
||||
}
|
||||
},
|
||||
{
|
||||
testname: "open inner context",
|
||||
condition: function() { return (navigator.platform.indexOf("Mac") == -1); },
|
||||
events: [ "DOMMenuItemActive outercontextmenu", "popupshowing innercontext", "popupshown innercontext" ],
|
||||
test: function () {
|
||||
synthesizeMouse($("outercontextmenu"), 4, 4, { type: "mousemove" });
|
||||
setTimeout(function() {
|
||||
synthesizeMouse($("outercontextmenu"), 2, 2, { type: "mousemove" });
|
||||
}, 1000);
|
||||
},
|
||||
result: function (testname) {
|
||||
is($("outermain").triggerNode, $("popuparea"), testname + " outer");
|
||||
is($("innermain").triggerNode, $("popuparea"), testname + " inner");
|
||||
is($("outercontext").triggerNode, $("innermenu"), testname + " outer context");
|
||||
is($("innercontext").triggerNode, $("innermenu"), testname + " inner context");
|
||||
is(document.popupNode, $("innermenu"), testname + " document.popupNode");
|
||||
}
|
||||
},
|
||||
{
|
||||
testname: "close context",
|
||||
condition: function() { return (navigator.platform.indexOf("Mac") == -1); },
|
||||
events: [ "popuphiding innercontext", "popuphidden innercontext",
|
||||
"popuphiding outercontext", "popuphidden outercontext",
|
||||
"DOMMenuInactive innercontext",
|
||||
"DOMMenuItemInactive outercontextmenu", "DOMMenuItemInactive outercontextmenu",
|
||||
"DOMMenuInactive outercontext" ],
|
||||
test: () => $("outercontext").hidePopup(),
|
||||
result: function (testname) {
|
||||
is($("outermain").triggerNode, $("popuparea"), testname + " outer");
|
||||
is($("innermain").triggerNode, $("popuparea"), testname + " inner");
|
||||
is($("outercontext").triggerNode, null, testname + " outer context");
|
||||
is($("innercontext").triggerNode, null, testname + " inner context");
|
||||
is(document.popupNode, $("popuparea"), testname + " document.popupNode");
|
||||
}
|
||||
},
|
||||
{
|
||||
testname: "hide menus",
|
||||
events: [ "popuphiding innermain", "popuphidden innermain",
|
||||
"popuphiding outermain", "popuphidden outermain",
|
||||
"DOMMenuInactive innermain",
|
||||
"DOMMenuItemInactive outermenu", "DOMMenuItemInactive outermenu",
|
||||
"DOMMenuInactive outermain" ],
|
||||
|
||||
test: () => $("outermain").hidePopup(),
|
||||
result: function (testname) {
|
||||
is($("outermain").triggerNode, null, testname + " outer");
|
||||
is($("innermain").triggerNode, null, testname + " inner");
|
||||
is($("outercontext").triggerNode, null, testname + " outer context");
|
||||
is($("innercontext").triggerNode, null, testname + " inner context");
|
||||
is(document.popupNode, null, testname + " document.popupNode");
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
SimpleTest.waitForFocus(function runTest() {
|
||||
return startPopupTests(popupTests);
|
||||
});
|
||||
|
||||
]]>
|
||||
</script>
|
||||
|
||||
<body xmlns="http://www.w3.org/1999/xhtml"><p id="display"/></body>
|
||||
|
||||
</window>
|
||||
Loading…
Add table
Add a link
Reference in a new issue