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