<!DOCTYPE html>
<html>
<head>
<script>
function crashTest() {
    if (window.testRunner)
        testRunner.dumpAsText();

    if (window.eventSender) {
        var element = document.getElementById('test');
        eventSender.mouseMoveTo(element.offsetLeft, element.offsetTop);
        eventSender.mouseDown();
        eventSender.mouseUp();
        
        element.style.display = 'none';
        document.getElementById('result').innerHTML = 'The page did not crash.';
    }
}
</script>
</head>
<body onload="crashTest()">
<div>Testcase for bug <a href="https://webkit.org/b/111894">111894</a>:  Regression: Crash when selecting Hebrew and numbers in a list.</div>
<div>To manually verify the issue, try clicking over the list marker. The test passes if the page does not crash.</div>
<ul id="test">
<li>&#1501; 1</li>
</ul>
<div id="result"></div>
</body>
</html>