<!DOCTYPE html> <!-- DO NOT EDIT! This test has been generated by tools/gentest.py. --> <title>Canvas test: 2d.transformation.rotate.wrap</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/common/canvas-tests.js"></script> <link rel="stylesheet" href="/common/canvas-tests.css"> <body class="show_output"> <h1>2d.transformation.rotate.wrap</h1> <p class="desc">rotate() wraps large positive values correctly</p> <p class="output">Actual output:</p> <canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> <p class="output expectedtext">Expected output:<p><img src="/images/green-100x50.png" class="output expected" id="expected" alt=""> <ul id="d"></ul> <script> var t = async_test("rotate() wraps large positive values correctly"); _addTest(function(canvas, ctx) { ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.rotate(Math.PI * (1 + 4096)); // == pi (mod 2*pi) // We need about pi +/- 0.001 in order to get correct-looking results // 32-bit floats can store pi*4097 with precision 2^-10, so that should // be safe enough on reasonable implementations ctx.fillStyle = '#0f0'; ctx.fillRect(-100, -50, 100, 50); _assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); _assertPixel(canvas, 98,2, 0,255,0,255, "98,2", "0,255,0,255"); _assertPixel(canvas, 98,47, 0,255,0,255, "98,47", "0,255,0,255"); }); </script>