diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /dom/canvas/test/test_2d_composite_canvaspattern_setTransform.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/canvas/test/test_2d_composite_canvaspattern_setTransform.html')
-rw-r--r-- | dom/canvas/test/test_2d_composite_canvaspattern_setTransform.html | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/dom/canvas/test/test_2d_composite_canvaspattern_setTransform.html b/dom/canvas/test/test_2d_composite_canvaspattern_setTransform.html new file mode 100644 index 000000000..6e46774d0 --- /dev/null +++ b/dom/canvas/test/test_2d_composite_canvaspattern_setTransform.html @@ -0,0 +1,78 @@ +<!DOCTYPE HTML> +<title>Canvas Tests</title> +<script src="/tests/SimpleTest/SimpleTest.js"></script> +<link rel="stylesheet" href="/tests/SimpleTest/test.css"> +<body> +<script> + +SimpleTest.waitForExplicitFinish(); +const Cc = SpecialPowers.Cc; +const Cr = SpecialPowers.Cr; + +function isPixel(ctx, x,y, r,g,b,a, d) { + var pos = x + "," + y; + var colour = r + "," + g + "," + b + "," + a; + var pixel = ctx.getImageData(x, y, 1, 1); + var pr = pixel.data[0], + pg = pixel.data[1], + pb = pixel.data[2], + pa = pixel.data[3]; + ok(r-d <= pr && pr <= r+d && + g-d <= pg && pg <= g+d && + b-d <= pb && pb <= b+d && + a-d <= pa && pa <= a+d, + "pixel "+pos+" of "+ctx.canvas.id+" is "+pr+","+pg+","+pb+","+pa+"; expected "+colour+" +/- "+d); +} +</script> + +<p>Canvas test: 2d.composite.canvaspattern.setTransform</p> +<canvas id="ctx" width="100" height="50"><p class="fallback">FAIL +(fallback content)</p></canvas> +<svg id="svg1"></svg> +<img src="image_rgrg-256x256.png" id="rgrg-256x256.png" width="32" +height="32" class="resource"> + +<script> + +function test_2d_canvaspattern_setTransform() { + + var canvas = document.getElementById('ctx'); + var ctx = canvas.getContext('2d'); + ctx.clearRect(0,0,canvas.width,canvas.height); + var img = document.getElementById("rgrg-256x256.png"); + var pat = ctx.createPattern(img,"repeat"); + + var svg = document.getElementById("svg1"); + var mtx = svg1.createSVGMatrix(); + pat.setTransform(mtx.rotate(-45).scale(0.1)); + ctx.fillStyle = pat; + ctx.fillRect(0, 0, 100, 50); + + // If the pattern doesn't get transformed, or only gets rotated or + // scaled, but not both, this will not be green and will fail. + isPixel(ctx, 90,14, 0,255,0,255, 0); +} +</script> + +<script> + +function runTests() { + try { + test_2d_canvaspattern_setTransform(); + } catch(e) { + throw e; + ok(false, "unexpected exception thrown in: test_2d_canvaspattern_setTransform"); + } + SimpleTest.finish(); +} + +addLoadEvent(function() { + SpecialPowers.pushPrefEnv({"set":[["canvas.path.enabled", true]]}, runTests) +}); + +// Don't leak the world via the Path2D reference to its window. +document.all; +window.p = new Path2D(); + +</script> + |