test_bug365410.html (3432B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=365410 5 --> 6 <title>Test for Bug 365410</title> 7 <script src="/tests/SimpleTest/SimpleTest.js"></script> 8 <script src="/tests/SimpleTest/EventUtils.js"></script> 9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 10 <style> 11 select { box-sizing: content-box } 12 </style> 13 <body> 14 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=365410">Mozilla Bug 365410</a> 15 <p id="display"> 16 <select id="test0" multiple="multiple"> 17 <option id="option">Item 1</option> 18 <option>Item 2</option> 19 <option>Item 3</option> 20 <option>Item 4</option> 21 <option>Item 5</option> 22 <option>Item 6</option> 23 <option>Item 7</option> 24 <option>Item 8</option> 25 <option>Item 9</option> 26 <option>Item 10</option> 27 <option>Item 11</option> 28 <option>Item 12</option> 29 <option>Item 13</option> 30 <option>Item 14</option> 31 <option>Item 15</option> 32 </select> 33 <select id="test1" multiple="multiple" size="1"> 34 <option>Item 1</option> 35 <option>Item 2</option> 36 <option>Item 3</option> 37 <option>Item 4</option> 38 <option>Item 5</option> 39 <option>Item 6</option> 40 <option>Item 7</option> 41 <option>Item 8</option> 42 <option>Item 9</option> 43 <option>Item 10</option> 44 <option>Item 11</option> 45 <option>Item 12</option> 46 <option>Item 13</option> 47 <option>Item 14</option> 48 <option>Item 15</option> 49 </select> 50 <select id="test2" multiple="multiple" size="1" style="height:0.9em"> 51 <option>Item 1</option> 52 <option>Item 2</option> 53 <option>Item 3</option> 54 <option>Item 4</option> 55 <option>Item 5</option> 56 <option>Item 6</option> 57 <option>Item 7</option> 58 <option>Item 8</option> 59 <option>Item 9</option> 60 <option>Item 10</option> 61 <option>Item 11</option> 62 <option>Item 12</option> 63 <option>Item 13</option> 64 <option>Item 14</option> 65 <option>Item 15</option> 66 </select> 67 <select id="test3" multiple="multiple" size="1"></select> 68 <select id="test4" multiple="multiple" size="1" style="height:0.9em"></select> 69 </p> 70 <div id="content" style="display: none"> 71 72 </div> 73 <pre id="test"> 74 <script type="application/javascript"> 75 76 /** Test for Bug 365410 */ 77 78 function pageUpDownTest(id,index) { 79 var elm = document.getElementById(id); 80 elm.focus(); 81 elm.selectedIndex = 0; 82 sendKey("page_down"); 83 sendKey("page_down"); 84 sendKey("page_up"); 85 sendKey("page_down"); 86 is(elm.selectedIndex, index, "pageUpDownTest: selectedIndex for " + id + " is " + index); 87 } 88 89 function upDownTest(id,index) { 90 var elm = document.getElementById(id); 91 elm.focus(); 92 elm.selectedIndex = 0; 93 sendKey("down"); 94 sendKey("down"); 95 sendKey("up"); 96 sendKey("down"); 97 is(elm.selectedIndex, index, "upDownTest: selectedIndex for " + id + " is " + index); 98 } 99 100 function setHeight(id, h) { 101 var elm = document.getElementById(id); 102 elm.style.height = h + 'px'; 103 } 104 105 function runTest() { 106 var h = document.getElementById("option").clientHeight; 107 var list5itemsHeight = h * 5.5; 108 setHeight("test0", list5itemsHeight); 109 setHeight("test1", list5itemsHeight); 110 setHeight("test3", list5itemsHeight); 111 112 pageUpDownTest("test0",8); 113 pageUpDownTest("test1",8); 114 pageUpDownTest("test2",2); 115 pageUpDownTest("test3",-1); 116 pageUpDownTest("test4",-1); 117 upDownTest("test0",2); 118 upDownTest("test1",2); 119 upDownTest("test2",2); 120 upDownTest("test3",-1); 121 upDownTest("test4",-1); 122 123 SimpleTest.finish(); 124 } 125 126 SimpleTest.waitForExplicitFinish(); 127 SimpleTest.waitForFocus(runTest); 128 129 </script> 130 </pre> 131 </body> 132 </html>