summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/canvas/canvas-drawImage-scaled-copy-to-self.html
blob: 8702e20fd6bacc514f16c03d2a1d54c883ff322c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>

<script>
description("Tests drawImage with self as source image, copy composite operation, and downsized destination rect. Regression test for issue crbug.com/330711");

var canvas = document.createElement("canvas");
canvas.width = 10;
canvas.height = 10;
var ctx = canvas.getContext('2d');

ctx.globalCompositeOperation = 'copy';
ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, 10, 10);
ctx.drawImage(canvas, 0, 0, 10, 10, 0, 0, 5, 5);

var imageData = ctx.getImageData(0, 0, 1, 1);
var imgdata = imageData.data;
shouldBe("imgdata[0]", "0");
shouldBe("imgdata[1]", "255");
shouldBe("imgdata[2]", "0");
shouldBe("imgdata[3]", "255");

var imageData = ctx.getImageData(4, 4, 1, 1);
var imgdata = imageData.data;
shouldBe("imgdata[0]", "0");
shouldBe("imgdata[1]", "255");
shouldBe("imgdata[2]", "0");
shouldBe("imgdata[3]", "255");

var imageData = ctx.getImageData(4, 5, 1, 1);
var imgdata = imageData.data;
shouldBe("imgdata[0]", "0");
shouldBe("imgdata[1]", "0");
shouldBe("imgdata[2]", "0");
shouldBe("imgdata[3]", "0");

var imageData = ctx.getImageData(5, 4, 1, 1);
var imgdata = imageData.data;
shouldBe("imgdata[0]", "0");
shouldBe("imgdata[1]", "0");
shouldBe("imgdata[2]", "0");
shouldBe("imgdata[3]", "0");
</script>
</body>
</html>