<html>
<body>
<p>Test a few floating point operations on Worker threads.  Regression test for https://webkit.org/b/132755.</p>
<div id=result></div>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

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

var worker = new Worker("resources/worker-floating-point.js");
worker.onmessage = function(event) {
    log(event.data);
    if (event.data == "DONE") {
        if (window.testRunner)
            testRunner.notifyDone();
    }
};

</script>
</body>
</html>
