diff options
Diffstat (limited to 'toolkit/xre/test/test_fpuhandler.html')
-rw-r--r-- | toolkit/xre/test/test_fpuhandler.html | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/toolkit/xre/test/test_fpuhandler.html b/toolkit/xre/test/test_fpuhandler.html new file mode 100644 index 000000000..afe70ee64 --- /dev/null +++ b/toolkit/xre/test/test_fpuhandler.html @@ -0,0 +1,38 @@ +<head> + <title>Floating-point exception handler test</title> + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + +<body onload="runTest()"> + <embed id="plugin1" type="application/x-test" width="400" height="400"></embed> + + <script class="testbody" type="application/javascript"> + SimpleTest.waitForExplicitFinish(); + + function doDiv(x, y) { + var z; + z = x / y; + + for (i = 0 + x; i < 1000; ++i) + z = y / x; + + z = x / y; + return z; + } + + function runTest() + { + ok(isNaN(doDiv(0.0, 0.0)), "Undefined division-by-zero doesn't crash"); + + try { + document.getElementById('plugin1').enableFPExceptions(); + } + catch (e) { + ok(true, "No special code to set the FPU bit in the testplugin."); + SimpleTest.finish(); + return; + } + + ok(isNaN(doDiv(0.0, 0.0)), "Undefined division-by-zero doesn't crash again."); + SimpleTest.finish(); + } + </script> |