67 lines
1.8 KiB
HTML
67 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<title>Canvas test: test large width/height values</title>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<body>
|
|
<p>Tests that using reasonably large values for canvas.height and canvas.height don't cause a crash"</p>
|
|
<pre id="console"></pre>
|
|
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
|
|
<script>
|
|
var canvas = document.getElementById("c");
|
|
var x, y, w=1, h=1;
|
|
|
|
testHeight(canvas, 1000);
|
|
testHeight(canvas, 10000);
|
|
testHeight(canvas, 32000);
|
|
|
|
testWidth(canvas, 1000);
|
|
testWidth(canvas, 10000);
|
|
testWidth(canvas, 32000);
|
|
|
|
function testHeight(canvas, height) {
|
|
canvas.width = 50;
|
|
canvas.height = height;
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.fillStyle = "rgba(255, 255, 255, 1)";
|
|
var msg = "height == "+height;
|
|
if (canvas.height == height)
|
|
testPassed(msg);
|
|
else
|
|
testFailed(msg);
|
|
x = canvas.width-2;
|
|
y = canvas.height-2;
|
|
ctx.fillRect(x,y,w,h);
|
|
var data = ctx.getImageData(x,y,w,h);
|
|
for (var x = 0; x < 4; x++) {
|
|
var msg = "Actual: " + data.data[x] + " Expected: 255";
|
|
if (data.data[x] == 255)
|
|
testPassed(msg);
|
|
else
|
|
testFailed(msg);
|
|
}
|
|
}
|
|
|
|
function testWidth(canvas, width) {
|
|
canvas.height = 50;
|
|
canvas.width = width;
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.fillStyle = "rgba(255, 255, 255, 1)";
|
|
var msg = "width == "+width;
|
|
if (canvas.width == width)
|
|
testPassed(msg);
|
|
else
|
|
testFailed(msg);
|
|
x = canvas.width-2;
|
|
y = canvas.height-2;
|
|
ctx.fillRect(x,y,w,h);
|
|
var data = ctx.getImageData(x,y,w,h);
|
|
for (var x = 0; x < 4; x++) {
|
|
var msg = "Actual: " + data.data[x] + " Expected: 255";
|
|
if (data.data[x] == 255)
|
|
testPassed(msg);
|
|
else
|
|
testFailed(msg);
|
|
}
|
|
}
|
|
</script>
|
|
|