OLD | NEW |
---|---|
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <style type="text/css" media="screen"> | 3 <style type="text/css" media="screen"> |
4 body { overflow: hidden; } | 4 body { overflow: hidden; } |
5 html { | 5 html { |
6 zoom: 120%; | 6 zoom: 120%; |
7 } | 7 } |
8 </style> | 8 </style> |
9 <script> | 9 <script> |
10 function setup() { | 10 function setup() { |
11 var results = document.createElement('div'); | 11 var results = document.createElement('div'); |
12 results.id = "res"; | 12 results.id = "res"; |
13 results.appendChild(document.createTextNode("Results:")); | 13 results.appendChild(document.createTextNode("Results:")); |
14 document.body.appendChild(results); | 14 document.body.appendChild(results); |
15 } | 15 } |
16 function test() { | 16 function test() { |
17 setup(); | 17 setup(); |
18 | 18 |
19 mouseDownOnSelect("sl1", 1, false, false); | 19 mouseDownOnSelect("sl1", 1); |
20 var expectedSelectionResults = new Array(false, true, false, fal se, false, false, false, false, false, false, false, false, false, false, false, false, false); | 20 var expectedSelectionResults = new Array(false, true, false, fal se, false, false, false, false, false, false, false, false, false, false, false, false, false); |
21 testResults("sl1", expectedSelectionResults, 1); | 21 testResults("sl1", expectedSelectionResults, 1); |
22 | 22 |
23 mouseDownOnSelect("sl1", 6, false, false); | 23 mouseDownOnSelect("sl1", 6); |
24 expectedSelectionResults = new Array(false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, fal se, false); | 24 expectedSelectionResults = new Array(false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, fal se, false); |
25 testResults("sl1", expectedSelectionResults, 2); | 25 testResults("sl1", expectedSelectionResults, 2); |
26 } | 26 } |
27 | 27 |
28 function mouseDownOnSelect(selId, index, shift, meta) { | 28 function mouseDownOnSelect(selId, index) { |
29 var sl = document.getElementById(selId); | 29 var sl = document.getElementById(selId); |
30 var itemHeight = 14 * 1.2; | 30 var itemHeight = 14 * 1.2; |
31 var borderPaddingTop = 20 * 1.2; | 31 var borderPaddingTop = 20 * 1.2; |
32 var borderPaddingLeft = 20 * 1.2; | 32 var borderPaddingLeft = 20 * 1.2; |
33 var y = index * itemHeight - window.pageYOffset + borderPaddingT op + itemHeight / 2; | 33 var y = index * itemHeight - window.pageYOffset + borderPaddingT op + itemHeight / 2; |
34 | 34 |
35 var clickX = sl.offsetLeft + borderPaddingLeft + 5; | 35 var clickX = sl.offsetLeft + borderPaddingLeft + 5; |
36 var clickY = sl.offsetTop + y; | 36 var clickY = sl.offsetTop + y; |
37 var event = document.createEvent("MouseEvent"); | 37 eventSender.mouseMoveTo(clickX, clickY); |
38 event.initMouseEvent("mousedown", true, true, document.defaultVi ew, 1, clickX, clickY, clickX, clickY, false, false, shift, meta, 0, document); | 38 eventSender.mouseDown(); |
39 sl.dispatchEvent(event); | 39 eventSender.mouseUp(); |
keishi
2014/06/22 11:59:55
Mouse event target needs to be an option element n
| |
40 } | 40 } |
41 | 41 |
42 function testResults(selId, expectedArr, testNum) { | 42 function testResults(selId, expectedArr, testNum) { |
43 var sl = document.getElementById(selId); | 43 var sl = document.getElementById(selId); |
44 var res = document.getElementById('res'); | 44 var res = document.getElementById('res'); |
45 var resultsArr = new Array(sl.options.length); | 45 var resultsArr = new Array(sl.options.length); |
46 | 46 |
47 var i; | 47 var i; |
48 for (i=0; i < sl.options.length; i++) { | 48 for (i=0; i < sl.options.length; i++) { |
49 resultsArr[i] = sl.options[i].selected; | 49 resultsArr[i] = sl.options[i].selected; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
84 <option>twelve</option> | 84 <option>twelve</option> |
85 <option>thirteen</option> | 85 <option>thirteen</option> |
86 <option>fourteen</option> | 86 <option>fourteen</option> |
87 <option>fifteen</option> | 87 <option>fifteen</option> |
88 <option>sixteen</option> | 88 <option>sixteen</option> |
89 <option>seventeen</option> | 89 <option>seventeen</option> |
90 </select> | 90 </select> |
91 | 91 |
92 </body> | 92 </body> |
93 </html> | 93 </html> |
OLD | NEW |