1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/layout/generic/test/test_bug632379.xul Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,207 @@ 1.4 +<?xml version="1.0"?> 1.5 +<?xml-stylesheet href="chrome://global/skin" type="text/css"?> 1.6 +<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?> 1.7 +<!-- 1.8 +https://bugzilla.mozilla.org/show_bug.cgi?id=632379 1.9 +--> 1.10 +<window title="Mozilla Bug 632379" 1.11 + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 1.12 + 1.13 + <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/> 1.14 + <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> 1.15 + 1.16 +<toolbox flex="1"> 1.17 + <menubar> 1.18 + <menu label="MENU" accesskey="m" id="mainMenu"> 1.19 + <menupopup maxheight="100" onpopupshown="openSubmenu()"> 1.20 + <menu label="menu1" accesskey="1" id="menu1"> 1.21 + <menupopup onpopupshown="snapshot(this)"> 1.22 + <menuitem label="item"/> 1.23 + <menuitem label="item"/> 1.24 + <menuitem label="item"/> 1.25 + <menuitem label="item"/> 1.26 + <menuitem label="item"/> 1.27 + <menuitem label="item"/> 1.28 + <menuitem label="item"/> 1.29 + <menuitem label="item"/> 1.30 + <menuitem label="item"/> 1.31 + <menuitem label="item"/> 1.32 + <menuitem label="item"/> 1.33 + </menupopup> 1.34 + </menu> 1.35 + <menu label="menu2" accesskey="2" id="menu2"> 1.36 + <menupopup onpopupshown="snapshot(this)"> 1.37 + <menuitem label="item"/> 1.38 + <menuitem label="item"/> 1.39 + <menuitem label="item"/> 1.40 + <menuitem label="item"/> 1.41 + <menuitem label="item"/> 1.42 + <menuitem label="item"/> 1.43 + <menuitem label="item"/> 1.44 + <menuitem label="item"/> 1.45 + <menuitem label="item"/> 1.46 + <menuitem label="item"/> 1.47 + <menuitem label="item"/> 1.48 + </menupopup> 1.49 + </menu> 1.50 + <menu label="menu3" accesskey="3" id="menu3"> 1.51 + <menupopup onpopupshown="snapshot(this)"> 1.52 + <menuitem label="item"/> 1.53 + <menuitem label="item"/> 1.54 + <menuitem label="item"/> 1.55 + <menuitem label="item"/> 1.56 + <menuitem label="item"/> 1.57 + <menuitem label="item"/> 1.58 + <menuitem label="item"/> 1.59 + <menuitem label="item"/> 1.60 + <menuitem label="item"/> 1.61 + <menuitem label="item"/> 1.62 + <menuitem label="item"/> 1.63 + </menupopup> 1.64 + </menu> 1.65 + <menu label="menu4" accesskey="4" id="menu4"> 1.66 + <menupopup onpopupshown="snapshot(this)"> 1.67 + <menuitem label="item"/> 1.68 + <menuitem label="item"/> 1.69 + <menuitem label="item"/> 1.70 + <menuitem label="item"/> 1.71 + <menuitem label="item"/> 1.72 + <menuitem label="item"/> 1.73 + <menuitem label="item"/> 1.74 + <menuitem label="item"/> 1.75 + <menuitem label="item"/> 1.76 + <menuitem label="item"/> 1.77 + <menuitem label="item"/> 1.78 + </menupopup> 1.79 + </menu> 1.80 + <menu label="menu5" accesskey="5" id="menu5"> 1.81 + <menupopup onpopupshown="snapshot(this)"> 1.82 + <menuitem label="item"/> 1.83 + <menuitem label="item"/> 1.84 + <menuitem label="item"/> 1.85 + <menuitem label="item"/> 1.86 + <menuitem label="item"/> 1.87 + <menuitem label="item"/> 1.88 + <menuitem label="item"/> 1.89 + <menuitem label="item"/> 1.90 + <menuitem label="item"/> 1.91 + <menuitem label="item"/> 1.92 + <menuitem label="item"/> 1.93 + </menupopup> 1.94 + </menu> 1.95 + <menu label="menu6" accesskey="6" id="menu6"> 1.96 + <menupopup onpopupshown="snapshot(this)"> 1.97 + <menuitem label="item"/> 1.98 + <menuitem label="item"/> 1.99 + <menuitem label="item"/> 1.100 + <menuitem label="item"/> 1.101 + <menuitem label="item"/> 1.102 + <menuitem label="item"/> 1.103 + <menuitem label="item"/> 1.104 + <menuitem label="item"/> 1.105 + <menuitem label="item"/> 1.106 + <menuitem label="item"/> 1.107 + <menuitem label="item"/> 1.108 + </menupopup> 1.109 + </menu> 1.110 + <menu label="menu7" accesskey="7" id="menu7"> 1.111 + <menupopup onpopupshown="snapshot(this)"> 1.112 + <menuitem label="item"/> 1.113 + <menuitem label="item"/> 1.114 + <menuitem label="item"/> 1.115 + <menuitem label="item"/> 1.116 + <menuitem label="item"/> 1.117 + <menuitem label="item"/> 1.118 + <menuitem label="item"/> 1.119 + <menuitem label="item"/> 1.120 + <menuitem label="item"/> 1.121 + <menuitem label="item"/> 1.122 + <menuitem label="item"/> 1.123 + </menupopup> 1.124 + </menu> 1.125 + <menu label="menu8" accesskey="8" id="menu8"> 1.126 + <menupopup onpopupshown="snapshot(this)"> 1.127 + <menuitem label="item"/> 1.128 + <menuitem label="item"/> 1.129 + <menuitem label="item"/> 1.130 + <menuitem label="item"/> 1.131 + <menuitem label="item"/> 1.132 + <menuitem label="item"/> 1.133 + <menuitem label="item"/> 1.134 + <menuitem label="item"/> 1.135 + <menuitem label="item"/> 1.136 + <menuitem label="item"/> 1.137 + <menuitem label="item"/> 1.138 + </menupopup> 1.139 + </menu> 1.140 + <menu label="menu9" accesskey="9" id="menu9"> 1.141 + <menupopup onpopupshown="snapshot(this)"> 1.142 + <menuitem label="item"/> 1.143 + <menuitem label="item"/> 1.144 + <menuitem label="item"/> 1.145 + <menuitem label="item"/> 1.146 + <menuitem label="item"/> 1.147 + <menuitem label="item"/> 1.148 + <menuitem label="item"/> 1.149 + <menuitem label="item"/> 1.150 + <menuitem label="item"/> 1.151 + <menuitem label="item"/> 1.152 + <menuitem label="item"/> 1.153 + </menupopup> 1.154 + </menu> 1.155 + </menupopup> 1.156 + </menu> 1.157 + </menubar> 1.158 +</toolbox> 1.159 + 1.160 +<body xmlns="http://www.w3.org/1999/xhtml"> 1.161 + <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=632379">Mozilla Bug 632379</a> 1.162 + 1.163 + <p id="display"></p> 1.164 +<div id="content" style="display: none"> 1.165 +</div> 1.166 +</body> 1.167 + 1.168 + 1.169 +<script class="testbody" type="application/javascript"><![CDATA[ 1.170 + 1.171 +/** Test for Bug 632379 **/ 1.172 +// Tests whether scrolling a menu affects the position at which popups appear 1.173 +var pos = new Array(2); 1.174 +var count=0; 1.175 + 1.176 +function snapshot(elem) 1.177 +{ 1.178 + pos[count] = elem.getBoundingClientRect().top; 1.179 + ++count; 1.180 + if (count <= 1) { 1.181 + // close the submenu and open the bottom submenu 1.182 + synthesizeKey("VK_LEFT", {}); 1.183 + synthesizeKey("9", {}); 1.184 + } else { 1.185 + if (navigator.platform.indexOf("Mac") == -1) { 1.186 + is(pos[1], pos[0], "Popup should open in the same place when the menu is scrolled"); 1.187 + } else { 1.188 + todo(false, "This test fails on Mac since it was ported to chrome: Bug 668716."); 1.189 + } 1.190 + SimpleTest.finish(); 1.191 + } 1.192 +} 1.193 + 1.194 +function doTest() { 1.195 + // open the top-level menu 1.196 + $("mainMenu").open = true; 1.197 +} 1.198 + 1.199 +function openSubmenu() 1.200 +{ 1.201 + // open a submenu in the middle 1.202 + synthesizeKey("5", {}); 1.203 +} 1.204 + 1.205 +SimpleTest.waitForExplicitFinish(); 1.206 +SimpleTest.waitForFocus(doTest); 1.207 + 1.208 +]]></script> 1.209 +</window> 1.210 +