57 lines
1.3 KiB
HTML
57 lines
1.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<canvas id="canvas" width="100" height="100"></canvas>
|
|
<script>
|
|
description("Bug 105650: Test correct rendering of quadratic and bezier curves with coincident endpoints");
|
|
var ctx = document.getElementById('canvas').getContext('2d');
|
|
var data;
|
|
|
|
function shouldBeYellow(x,y)
|
|
{
|
|
blue_value = ctx.getImageData(x, y, 1, 1).data[2];
|
|
shouldBe("blue_value", "0");
|
|
}
|
|
|
|
function shouldBeBlue(x,y)
|
|
{
|
|
blue_value = ctx.getImageData(x, y, 1, 1).data[2];
|
|
shouldBe("blue_value", "255");
|
|
}
|
|
|
|
ctx.fillStyle = '#00f';
|
|
ctx.strokeStyle = '#ff0';
|
|
ctx.lineWidth = 30;
|
|
|
|
ctx.beginPath();
|
|
ctx.fillRect(0,0,100,100);
|
|
ctx.moveTo(0,0);
|
|
|
|
// bezier curve with coincident endpoints, horizontal line
|
|
ctx.bezierCurveTo(0,0,200,0,0,0);
|
|
shouldBeBlue(50,0);
|
|
ctx.stroke();
|
|
shouldBeYellow(50,0);
|
|
shouldBeBlue(0,50);
|
|
shouldBeBlue(70,70);
|
|
|
|
// bezier curve with coincident endpoints, vertical line
|
|
ctx.bezierCurveTo(0,200,0,0,0,0);
|
|
ctx.stroke();
|
|
shouldBeYellow(50,0);
|
|
shouldBeBlue(75,75);
|
|
|
|
// bezier curve with coincident endpoints
|
|
ctx.bezierCurveTo(200,0,0,200,0,0);
|
|
ctx.stroke();
|
|
shouldBeYellow(75,75);
|
|
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|