| <body onload="load()"> | |
| <p>This test checks that triggering the context menu selects/doesn't select as platform-appropriate.</p> | |
| <div id="text">Lorem ipsum</div> | |
| <div id="resultmac">RUNNING</div> | |
| <div id="resultwin">RUNNING</div> | |
| <div id="resultunix">RUNNING</div> | |
| </body> | |
| <script> | |
| function test(platform, selectionExpected, result) | |
| { | |
| // clear selection | |
| window.getSelection().removeAllRanges(); | |
| internals.settings.setEditingBehavior(platform); | |
| var text = document.getElementById("text"); | |
| var x = text.offsetParent.offsetLeft + text.offsetLeft + 4; | |
| var y = text.offsetParent.offsetTop + text.offsetTop + text.offsetHeight / 2; | |
| eventSender.mouseMoveTo(x, y); | |
| eventSender.contextClick(); | |
| // esc key to kill the context menu | |
| eventSender.keyDown(String.fromCharCode(0x001B), null); | |
| var resultElement = document.getElementById(result); | |
| var selectionType = window.getSelection().type; | |
| if (selectionExpected) { | |
| if (selectionType == "Range") | |
| resultElement.innerHTML = "SUCCESS"; | |
| else | |
| resultElement.innerHTML = "FAILURE: There should be a selection."; | |
| } else { | |
| if (selectionType == "Range") | |
| resultElement.innerHTML = "FAILURE: There shouldn't be a selection."; | |
| else | |
| resultElement.innerHTML = "SUCCESS"; | |
| } | |
| } | |
| function load() | |
| { | |
| if (!window.eventSender || !window.testRunner || !window.internals) | |
| return; | |
| testRunner.dumpAsText(); | |
| test('mac', true, 'resultmac'); | |
| test('win', false, 'resultwin'); | |
| test('unix', false, 'resultunix'); | |
| } | |
| </script> |