layout/generic/test/test_bug632379.xul

changeset 0
6474c204b198
     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 +

mercurial