2d.imageData.object.clamp.html (1927B)
1 <!DOCTYPE html> 2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> 3 <meta charset="UTF-8"> 4 <title>Canvas test: 2d.imageData.object.clamp</title> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/html/canvas/resources/canvas-tests.js"></script> 8 <link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> 9 <body class="show_output"> 10 11 <h1>2d.imageData.object.clamp</h1> 12 <p class="desc">ImageData.data clamps numbers to [0, 255]</p> 13 14 15 <p class="output">Actual output:</p> 16 <canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> 17 18 <ul id="d"></ul> 19 <script> 20 var t = async_test("ImageData.data clamps numbers to [0, 255]"); 21 _addTest(function(canvas, ctx) { 22 23 var imgdata = ctx.getImageData(0, 0, 10, 10); 24 25 imgdata.data[0] = 100; 26 imgdata.data[0] = 300; 27 _assertSame(imgdata.data[0], 255, "imgdata.data[\""+(0)+"\"]", "255"); 28 imgdata.data[0] = 100; 29 imgdata.data[0] = -100; 30 _assertSame(imgdata.data[0], 0, "imgdata.data[\""+(0)+"\"]", "0"); 31 32 imgdata.data[0] = 100; 33 imgdata.data[0] = 200+Math.pow(2, 32); 34 _assertSame(imgdata.data[0], 255, "imgdata.data[\""+(0)+"\"]", "255"); 35 imgdata.data[0] = 100; 36 imgdata.data[0] = -200-Math.pow(2, 32); 37 _assertSame(imgdata.data[0], 0, "imgdata.data[\""+(0)+"\"]", "0"); 38 39 imgdata.data[0] = 100; 40 imgdata.data[0] = Math.pow(10, 39); 41 _assertSame(imgdata.data[0], 255, "imgdata.data[\""+(0)+"\"]", "255"); 42 imgdata.data[0] = 100; 43 imgdata.data[0] = -Math.pow(10, 39); 44 _assertSame(imgdata.data[0], 0, "imgdata.data[\""+(0)+"\"]", "0"); 45 46 imgdata.data[0] = 100; 47 imgdata.data[0] = -Infinity; 48 _assertSame(imgdata.data[0], 0, "imgdata.data[\""+(0)+"\"]", "0"); 49 imgdata.data[0] = 100; 50 imgdata.data[0] = Infinity; 51 _assertSame(imgdata.data[0], 255, "imgdata.data[\""+(0)+"\"]", "255"); 52 53 }); 54 </script>