layout/forms/test/test_bug961363.html

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 <!DOCTYPE HTML>
     2 <html>
     3 <!--
     4 https://bugzilla.mozilla.org/show_bug.cgi?id=961363
     5 -->
     6 <head>
     7 <meta charset="utf-8">
     8 <title>Test for Bug 961363</title>
     9 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    10 <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
    11 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
    12 <script type="application/javascript">
    13   /** Test for Bug 961363 **/
    15   SimpleTest.waitForExplicitFinish();
    17   function test() {
    19     SimpleTest.waitForFocus(function() {
    20       var one = [{k:"DOWN",s:[false,true,true,false]}, {k:"UP",s:[false,false,true,false]},
    21                  {k:"RIGHT",s:[false,false,false,false]}, {k:"LEFT",s:[false,true,false,false]},
    22                  {k:"PAGE_DOWN",s:[false,true,false,true]}, {k:"PAGE_UP",s:[false,false,false,true]},
    23                  {k:"END",s:[false,false,false,false]}, {k:"HOME",s:[true,false,false,false]} ];
    24      var two_1 = [{k:"DOWN",s:[false,false,true,false]}, {k:"UP",s:[false,true,false,false]},
    25                   {k:"RIGHT",s:[false,false,true,false]}, {k:"LEFT",s:[false,true,false,false]},
    26                   {k:"END",s:[false,false,false,true]}, {k:"HOME",s:[true,false,false,false]} ];
    27      var two_2 = [{k:"PAGE_DOWN",s:[true,false,false,false]}, {k:"PAGE_UP",s:[true,false,false,false]}];
    28      var three_1 = [{k:"DOWN",s:[false,false,true,false]}, {k:"UP",s:[false,true,false,false]},
    29                     {k:"RIGHT",s:[false,false,true,false]}, {k:"LEFT",s:[false,true,false,false]},
    30                     {k:"END",s:[false,false,false,true]}, {k:"HOME",s:[true,false,false,false]} ];
    31      var three_2 = [{k:"PAGE_DOWN",s:[true,false,false,false]}, {k:"PAGE_UP",s:[true,false,false,false]} ];
    33       function select_test(id, tests, ctrl_change) {
    34         var element = document.getElementById(id);
    35         element.focus();
    36         var previousValue = element.value;
    37         tests.forEach(function(data) {
    38           var key = data.k;
    39           synthesizeKey("VK_"+key, { shiftKey:false, metaKey:false, ctrlKey:true });
    40           (ctrl_change ? isnot : is)(element.value, previousValue, "value should " +
    41                  (ctrl_change?"":"not ") + "have changed while testing CTRL+key " + key + " (id: " + id + ")");
    42           previousValue = element.value;
    43           synthesizeKey(" ", { shiftKey:false, metaKey:false, ctrlKey:true });
    44           var sel = Array.prototype.slice.call(element.options).map(function(o){return o.selected})
    45           is(""+sel, ""+data.s, "selected options match after CTRL+SPACE (after testing CTRL+key " + key + ") for (id: " + id + ")");
    46           previousValue = element.value;
    47           });
    48       };
    49       select_test("one", one, false);
    50       select_test("two", two_1, true);
    51       select_test("two", two_2, false);
    52       select_test("three", three_1, true);
    53       select_test("three", three_2, false);
    54       SimpleTest.finish();
    55     });
    56   }
    57 </script>
    58 </head>
    59 <body onload="test();">
    60 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=961363">Mozilla Bug 961363</a>
    61 <div>
    62   <ul>
    63     <li>
    64     <select id="one" multiple size="3">
    65       <option>0</option>
    66       <option selected>1</option>
    67       <option>2</option>
    68       <option>3</option>
    69     </select>
    70     </li>
    71     <li>
    72     <select id="two" size="3">
    73       <option>0</option>
    74       <option selected>1</option>
    75       <option>2</option>
    76       <option>3</option>
    77     </select>
    78     </li>
    79     <li>
    80     <select id="three" size="1">
    81       <option>0</option>
    82       <option selected>1</option>
    83       <option>2</option>
    84       <option>3</option>
    85     </select>
    86     </li>
    87   </ul>
    88 </div>
    89 <pre id="test">
    90 </pre>
    91 </body>
    92 </html>

mercurial