<script>
if (window.testRunner)
    testRunner.dumpAsText();

function log(msg) {
    document.getElementById("console").innerHTML += msg + "<br>";
}

function test1()
{
    window.onerror = function (error, url, line, column, error) {
        url = url ? url.match( /[^\/]+\/?$/ )[0] : url;
        log("Error caught successfully: " + error + "\nFile: " + url + "\nLine: " + line + "\nColumn: " + column + "\nError: " + error)
        return true;
    };
    eval("1=2");
}
</script>
<body onload="test1();">
<p>You should see a log record if window.onerror is working properly for this test.<a href="https://bugs.webkit.org/show_bug.cgi?id=8519">Bug 8519</a>.</p>
<hr>
<div id='console'></div>
</body>
