summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/test_2d_composite_canvaspattern_setTransform.html
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /dom/canvas/test/test_2d_composite_canvaspattern_setTransform.html
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-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.html78
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>
+