test_integers.html (1354B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 7 </head> 8 <body> 9 <p id="display"></p> 10 <div id="content" style="display: none"> 11 <canvas id="c" width="1" height="1"></canvas> 12 </div> 13 <pre id="test"> 14 <script type="application/javascript"> 15 16 function testInt64NonFinite(arg) { 17 // We can use a WebGLRenderingContext to test conversion to 64-bit signed 18 // ints edge cases. 19 var gl = $("c").getContext("experimental-webgl"); 20 if (!gl) { 21 // No WebGL support on MacOS 10.5. Just skip this test 22 todo(false, "WebGL not supported"); 23 return; 24 } 25 var error = gl.getError(); 26 27 // on the b2g emulator we get GL_INVALID_FRAMEBUFFER_OPERATION 28 if (error == 0x0506) // GL_INVALID_FRAMEBUFFER_OPERATION 29 return; 30 31 is(error, 0, "Should not start in an error state"); 32 33 var b = gl.createBuffer(); 34 gl.bindBuffer(gl.ARRAY_BUFFER, b); 35 36 var a = new Float32Array(1); 37 gl.bufferData(gl.ARRAY_BUFFER, a, gl.STATIC_DRAW); 38 39 gl.bufferSubData(gl.ARRAY_BUFFER, arg, a); 40 41 is(gl.getError(), 0, "Should have treated non-finite double as 0"); 42 } 43 44 testInt64NonFinite(NaN); 45 testInt64NonFinite(Infinity); 46 testInt64NonFinite(-Infinity); 47 </script> 48 </pre> 49 </body> 50 </html>