|
1 <head> |
|
2 <title>Floating-point exception handler test</title> |
|
3 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> |
|
4 |
|
5 <body onload="runTest()"> |
|
6 <embed id="plugin1" type="application/x-test" width="400" height="400"></embed> |
|
7 |
|
8 <script class="testbody" type="application/javascript"> |
|
9 SimpleTest.waitForExplicitFinish(); |
|
10 |
|
11 function doDiv(x, y) { |
|
12 var z; |
|
13 z = x / y; |
|
14 |
|
15 for (i = 0 + x; i < 1000; ++i) |
|
16 z = y / x; |
|
17 |
|
18 z = x / y; |
|
19 return z; |
|
20 } |
|
21 |
|
22 function runTest() |
|
23 { |
|
24 ok(isNaN(doDiv(0.0, 0.0)), "Undefined division-by-zero doesn't crash"); |
|
25 |
|
26 try { |
|
27 document.getElementById('plugin1').enableFPExceptions(); |
|
28 } |
|
29 catch (e) { |
|
30 ok(true, "No special code to set the FPU bit in the testplugin."); |
|
31 SimpleTest.finish(); |
|
32 return; |
|
33 } |
|
34 |
|
35 ok(isNaN(doDiv(0.0, 0.0)), "Undefined division-by-zero doesn't crash again."); |
|
36 SimpleTest.finish(); |
|
37 } |
|
38 </script> |