mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
af1d0235a1
This is based on Philip Taylor's emulation written in JavasScript. Relanding this now that 499161 has landed which should fix test failures.
60 lines
1.5 KiB
HTML
60 lines
1.5 KiB
HTML
<!DOCTYPE HTML>
|
|
<title>Canvas test: 2d.path.arcTo.zero.2</title>
|
|
<!-- Testing: arcTo() with zero radius draws a straight line from P0 to P1, even when all points are collinear -->
|
|
<script src="/MochiKit/packed.js"></script>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" href="/tests/SimpleTest/test.css">
|
|
<body>
|
|
<canvas id="c" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
|
|
<script>
|
|
function isPixel(ctx, x,y, r,g,b,a, pos, colour, d) {
|
|
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+" is "+pr+","+pg+","+pb+","+pa+"; expected "+colour+" +/- "+d);
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
MochiKit.DOM.addLoadEvent(function () {
|
|
|
|
var canvas = document.getElementById('c');
|
|
var ctx = canvas.getContext('2d');
|
|
|
|
var _thrown_outer = false;
|
|
try {
|
|
|
|
ctx.fillStyle = '#f00';
|
|
ctx.fillRect(0, 0, 100, 50);
|
|
ctx.lineWidth = 50;
|
|
|
|
ctx.strokeStyle = '#0f0';
|
|
ctx.beginPath();
|
|
ctx.moveTo(0, 25);
|
|
ctx.arcTo(100, 25, -100, 25, 0);
|
|
ctx.stroke();
|
|
|
|
ctx.strokeStyle = '#f00';
|
|
ctx.beginPath();
|
|
ctx.moveTo(100, 25);
|
|
ctx.arcTo(200, 25, 50, 25, 0);
|
|
ctx.stroke();
|
|
|
|
isPixel(ctx, 50,25, 0,255,0,255, "50,25", "0,255,0,255", 0);
|
|
|
|
} catch (e) {
|
|
_thrown_outer = true;
|
|
}
|
|
ok(!_thrown_outer, 'should not throw exception');
|
|
|
|
SimpleTest.finish();
|
|
|
|
});
|
|
</script>
|
|
|