layout/generic/test/test_bug632379.xul

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 <?xml version="1.0"?>
     2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
     3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
     4 <!--
     5 https://bugzilla.mozilla.org/show_bug.cgi?id=632379
     6 -->
     7 <window title="Mozilla Bug 632379"
     8   xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    10   <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
    11   <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
    13 <toolbox flex="1">
    14   <menubar>
    15     <menu label="MENU" accesskey="m" id="mainMenu">
    16       <menupopup maxheight="100" onpopupshown="openSubmenu()">
    17         <menu label="menu1" accesskey="1" id="menu1">
    18           <menupopup onpopupshown="snapshot(this)">
    19             <menuitem label="item"/>
    20             <menuitem label="item"/>
    21             <menuitem label="item"/>
    22             <menuitem label="item"/>
    23             <menuitem label="item"/>
    24             <menuitem label="item"/>
    25             <menuitem label="item"/>
    26             <menuitem label="item"/>
    27             <menuitem label="item"/>
    28             <menuitem label="item"/>
    29             <menuitem label="item"/>
    30           </menupopup>
    31         </menu>
    32         <menu label="menu2" accesskey="2" id="menu2">
    33           <menupopup onpopupshown="snapshot(this)">
    34             <menuitem label="item"/>
    35             <menuitem label="item"/>
    36             <menuitem label="item"/>
    37             <menuitem label="item"/>
    38             <menuitem label="item"/>
    39             <menuitem label="item"/>
    40             <menuitem label="item"/>
    41             <menuitem label="item"/>
    42             <menuitem label="item"/>
    43             <menuitem label="item"/>
    44             <menuitem label="item"/>
    45           </menupopup>
    46         </menu>
    47         <menu label="menu3" accesskey="3" id="menu3">
    48           <menupopup onpopupshown="snapshot(this)">
    49             <menuitem label="item"/>
    50             <menuitem label="item"/>
    51             <menuitem label="item"/>
    52             <menuitem label="item"/>
    53             <menuitem label="item"/>
    54             <menuitem label="item"/>
    55             <menuitem label="item"/>
    56             <menuitem label="item"/>
    57             <menuitem label="item"/>
    58             <menuitem label="item"/>
    59             <menuitem label="item"/>
    60           </menupopup>
    61         </menu>
    62         <menu label="menu4" accesskey="4" id="menu4">
    63           <menupopup onpopupshown="snapshot(this)">
    64             <menuitem label="item"/>
    65             <menuitem label="item"/>
    66             <menuitem label="item"/>
    67             <menuitem label="item"/>
    68             <menuitem label="item"/>
    69             <menuitem label="item"/>
    70             <menuitem label="item"/>
    71             <menuitem label="item"/>
    72             <menuitem label="item"/>
    73             <menuitem label="item"/>
    74             <menuitem label="item"/>
    75           </menupopup>
    76         </menu>
    77         <menu label="menu5" accesskey="5" id="menu5">
    78           <menupopup onpopupshown="snapshot(this)">
    79             <menuitem label="item"/>
    80             <menuitem label="item"/>
    81             <menuitem label="item"/>
    82             <menuitem label="item"/>
    83             <menuitem label="item"/>
    84             <menuitem label="item"/>
    85             <menuitem label="item"/>
    86             <menuitem label="item"/>
    87             <menuitem label="item"/>
    88             <menuitem label="item"/>
    89             <menuitem label="item"/>
    90           </menupopup>
    91         </menu>
    92         <menu label="menu6" accesskey="6" id="menu6">
    93           <menupopup onpopupshown="snapshot(this)">
    94             <menuitem label="item"/>
    95             <menuitem label="item"/>
    96             <menuitem label="item"/>
    97             <menuitem label="item"/>
    98             <menuitem label="item"/>
    99             <menuitem label="item"/>
   100             <menuitem label="item"/>
   101             <menuitem label="item"/>
   102             <menuitem label="item"/>
   103             <menuitem label="item"/>
   104             <menuitem label="item"/>
   105           </menupopup>
   106         </menu>
   107         <menu label="menu7" accesskey="7" id="menu7">
   108           <menupopup onpopupshown="snapshot(this)">
   109             <menuitem label="item"/>
   110             <menuitem label="item"/>
   111             <menuitem label="item"/>
   112             <menuitem label="item"/>
   113             <menuitem label="item"/>
   114             <menuitem label="item"/>
   115             <menuitem label="item"/>
   116             <menuitem label="item"/>
   117             <menuitem label="item"/>
   118             <menuitem label="item"/>
   119             <menuitem label="item"/>
   120           </menupopup>
   121         </menu>
   122         <menu label="menu8" accesskey="8" id="menu8">
   123           <menupopup onpopupshown="snapshot(this)">
   124             <menuitem label="item"/>
   125             <menuitem label="item"/>
   126             <menuitem label="item"/>
   127             <menuitem label="item"/>
   128             <menuitem label="item"/>
   129             <menuitem label="item"/>
   130             <menuitem label="item"/>
   131             <menuitem label="item"/>
   132             <menuitem label="item"/>
   133             <menuitem label="item"/>
   134             <menuitem label="item"/>
   135           </menupopup>
   136         </menu>
   137         <menu label="menu9" accesskey="9" id="menu9">
   138           <menupopup onpopupshown="snapshot(this)">
   139             <menuitem label="item"/>
   140             <menuitem label="item"/>
   141             <menuitem label="item"/>
   142             <menuitem label="item"/>
   143             <menuitem label="item"/>
   144             <menuitem label="item"/>
   145             <menuitem label="item"/>
   146             <menuitem label="item"/>
   147             <menuitem label="item"/>
   148             <menuitem label="item"/>
   149             <menuitem label="item"/>
   150           </menupopup>
   151         </menu>
   152       </menupopup>
   153     </menu>
   154   </menubar>
   155 </toolbox>
   157 <body  xmlns="http://www.w3.org/1999/xhtml">
   158   <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=632379">Mozilla Bug 632379</a>
   160   <p id="display"></p>
   161 <div id="content" style="display: none">
   162 </div>
   163 </body>
   166 <script class="testbody" type="application/javascript"><![CDATA[
   168 /** Test for Bug 632379 **/
   169 // Tests whether scrolling a menu affects the position at which popups appear
   170 var pos = new Array(2);
   171 var count=0;
   173 function snapshot(elem)
   174 {
   175     pos[count] = elem.getBoundingClientRect().top;
   176     ++count;
   177     if (count <= 1) {
   178         // close the submenu and open the bottom submenu
   179         synthesizeKey("VK_LEFT", {});
   180         synthesizeKey("9", {});
   181     } else {
   182         if (navigator.platform.indexOf("Mac") == -1) {
   183             is(pos[1], pos[0], "Popup should open in the same place when the menu is scrolled");
   184         } else {
   185             todo(false, "This test fails on Mac since it was ported to chrome: Bug 668716.");
   186         }
   187         SimpleTest.finish();
   188     }
   189 }
   191 function doTest() {
   192     // open the top-level menu
   193     $("mainMenu").open = true;
   194 }
   196 function openSubmenu()
   197 {
   198     // open a submenu in the middle
   199     synthesizeKey("5", {});
   200 }
   202 SimpleTest.waitForExplicitFinish();
   203 SimpleTest.waitForFocus(doTest);
   205 ]]></script>
   206 </window>

mercurial