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>