tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

multi-range-script-select.html (6200B)


      1 <!DOCTYPE HTML>
      2 <html class="reftest-wait"><head>
      3    <meta charset="utf-8">
      4    <title>Testcase #1 for bug 1129078</title>
      5    <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6    <script src="/tests/SimpleTest/EventUtils.js"></script>
      7    <script src="selection-utils.js"></script>
      8 
      9 <style type="text/css">
     10 @font-face {
     11  font-family: Ahem;
     12  src: url("Ahem.ttf");
     13 }
     14 html,body { margin:0; padding: 0; }
     15 body,pre { font-family: Ahem; font-size: 20px; }
     16 </style>
     17 </head>
     18 <body>
     19 
     20 <pre id="select">
     21 2af45494-ak7e-11e4-a0c6-a7e7
     22 38222880-bj6d-11e4-8064-fb7b
     23 3d649ae4-ci5c-11e4-995d-17b2
     24 434351bc-dh4b-11e4-9971-4fc8
     25 4dc0e0b4-eg4a-11e4-8c28-5319
     26 a96319c8-ad7d-11e4-b312-039c
     27 </pre>
     28 
     29 <pre id="log" style="border:1px solid green"></pre>
     30 
     31 <script>
     32 window.info = parent.info;
     33 window.is = parent.is;
     34 window.isnot = parent.isnot;
     35 window.ok = parent.ok;
     36 
     37 function setupPrevSelection() {
     38  var sel = window.getSelection();
     39  var e = document.querySelector('#select');
     40  addChildRanges([[0,150,0,160], [0,65,0,70], [0,15,0,15]], e);
     41  sel.extend(e.firstChild, 10);  // to get eDirPrevious direction
     42 }
     43 
     44 function setupNextSelection() {
     45  var sel = window.getSelection();
     46  var e = document.querySelector('#select');
     47  addChildRanges([[0,10,0,15], [0,65,0,70], [0,150,0,160]], e);
     48 }
     49 
     50 var ops = {
     51  S_ : shiftClick,
     52  SA : shiftAccelClick,
     53  AD : accelDragSelect,
     54  SL : keyLeft,
     55  SR : keyRight
     56 }
     57 
     58 function runTest() {
     59  var e = document.querySelector('#select');
     60  var hash = window.location.hash
     61  if (hash.substring(0,5)=="#prev")
     62    setupPrevSelection();
     63  else
     64    setupNextSelection();
     65  var op = hash.substring(6,8);
     66  var action = ops[op];
     67  var test = hash.substring(0,6);
     68  if (hash.substring(0,5) == "#prev") {
     69    if (test == "#prev1") {
     70      if (action == keyLeft) {
     71        keyLeft({shiftKey:true}, 2)
     72        checkRanges([[0,8,0,15], [0,65,0,70], [0,150,0,160]], e);
     73      } else if (action == keyRight) {
     74        keyRight({shiftKey:true}, 2)
     75        checkRanges([[0,12,0,15], [0,65,0,70], [0,150,0,160]], e);
     76      } else if (action == accelDragSelect) {
     77        accelDragSelect(e, 30, 50);
     78        checkRanges([[0,1,0,2], [0,10,0,15], [0,65,0,70], [0,150,0,160]], e);
     79      } else {
     80        action(e, 30);
     81        checkRanges([[0,1,0,15], [0,65,0,70], [0,150,0,160]], e);
     82      }
     83    } else if (test == "#prev2") {
     84      action(e, 260);
     85      checkRanges([[0,13,0,15], [0,65,0,70], [0,150,0,160]], e);
     86    } else if (test == "#prev3") {
     87      action(e, 400);
     88      if (action == shiftClick)
     89        checkRanges([[0,15,0,20], [0,65,0,70], [0,150,0,160]], e);
     90      else if (action == shiftAccelClick)
     91        checkRanges([[0,15,0,20], [0,65,0,70], [0,150,0,160]], e);
     92    } else if (test == "#prev4") {
     93      action(e, 180, 65);
     94      if (action == shiftClick)
     95        checkRanges([[0,15,0,67], [0,67,0,70], [0,150,0,160]], e);
     96      else if (action == shiftAccelClick)
     97        checkRanges([[0,15,0,67], [0,67,0,70], [0,150,0,160]], e); 
     98     } else if (test == "#prev5") {
     99      action(e, 440, 65);
    100      if (action == shiftClick)
    101        checkRanges([[0,15,0,80], [0,150,0,160]], e);
    102      else if (action == shiftAccelClick)
    103        checkRanges([[0,15,0,80], [0,150,0,160]], e);
    104    } else if (test == "#prev6") {
    105      action(e, 140, 125);
    106      if (action == shiftClick)
    107        checkRanges([[0,15,0,152], [0,152,0,160]], e);
    108      else if (action == shiftAccelClick)
    109        checkRanges([[0,15,0,152], [0,152,0,160]], e);
    110    } else if (test == "#prev7") {
    111      if (action == accelDragSelect) {
    112        accelDragSelect(e, 460, 500, 125);
    113        checkRanges([[0,10,0,15], [0,65,0,70], [0,150,0,160], [0,168,0,170]], e);
    114      } else if (action == shiftClick) {
    115        action(e, 500, 125);
    116        checkRanges([[0,15,0,170]], e);
    117      } else if (action == shiftAccelClick) {
    118        action(e, 500, 125);
    119        checkRanges([[0,15,0,170]], e);
    120      }
    121    }
    122  } else {
    123    if (test == "#next1") {
    124      if (action == keyLeft) {
    125        keyLeft({shiftKey:true}, 2)
    126        checkRanges([[0,10,0,15], [0,65,0,70], [0,150,0,158]], e);
    127      } else if (action == keyRight) {
    128        keyRight({shiftKey:true}, 2)
    129        checkRanges([[0,10,0,15], [0,65,0,70], [0,150,0,162]], e);
    130      } else if (action == accelDragSelect) {
    131        accelDragSelect(e, 30, 50);
    132        checkRanges([[0,1,0,2], [0,10,0,15], [0,65,0,70], [0,150,0,160]], e);
    133      } else {
    134        action(e, 30);
    135        checkRanges([[0,1,0,150]], e);
    136      }
    137    } else if (test == "#next2") {
    138      action(e, 260);
    139      checkRanges([[0,10,0,13], [0,13,0,150]], e);
    140    } else if (test == "#next3") {
    141      action(e, 400);
    142      if (action == shiftClick)
    143        checkRanges([[0,10,0,15], [0,20,0,150]], e);
    144      else if (action == shiftAccelClick)
    145        checkRanges([[0,10,0,15], [0,20,0,150]], e);
    146    } else if (test == "#next4") {
    147      action(e, 180, 65);
    148      if (action == shiftClick)
    149        checkRanges([[0,10,0,15], [0,65,0,67], [0,67,0,150]], e);
    150      else if (action == shiftAccelClick)
    151        checkRanges([[0,10,0,15], [0,65,0,67], [0,67,0,150]], e);
    152     } else if (test == "#next5") {
    153      action(e, 440, 65);
    154      if (action == shiftClick)
    155        checkRanges([[0,10,0,15], [0,65,0,70], [0,80,0,150]], e);
    156      else if (action == shiftAccelClick)
    157        checkRanges([[0,10,0,15], [0,65,0,70], [0,80,0,150]], e);
    158    } else if (test == "#next6") {
    159      action(e, 140, 125);
    160      if (action == shiftClick)
    161        checkRanges([[0,10,0,15], [0,65,0,70], [0,150,0,152]], e);
    162      else if (action == shiftAccelClick)
    163        checkRanges([[0,10,0,15], [0,65,0,70], [0,150,0,152]], e);
    164    } else if (test == "#next7") {
    165      if (action == accelDragSelect) {
    166        accelDragSelect(e, 460, 500, 125);
    167        checkRanges([[0,10,0,15], [0,65,0,70], [0,150,0,160], [0,168,0,170]], e);
    168      } else if (action == shiftClick) {
    169        action(e, 500, 125);
    170        checkRanges([[0,10,0,15], [0,65,0,70], [0,150,0,170]], e);
    171      } else if (action == shiftAccelClick) {
    172        action(e, 500, 125);
    173        checkRanges([[0,10,0,15], [0,65,0,70], [0,150,0,170]], e);
    174      }
    175    }
    176  }
    177  document.documentElement.removeAttribute("class");
    178 }
    179 
    180 SimpleTest.waitForFocus(runTest);
    181 
    182 </script>
    183 
    184 </body>
    185 </html>