| <!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); |
| |
| // quadratic with coincident endpoint |
| ctx.moveTo(20,20); |
| |
| //Next line should be close to ctx.bezierCurveTo(81,80,80,80,20,20); |
| ctx.quadraticCurveTo(110,110,20,20); |
| |
| shouldBeBlue(70,70); |
| ctx.stroke(); |
| shouldBeYellow(70,70); |
| |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |