testing/web-platform/tests/html/canvas/element/line-styles/2d.line.cap.round.html
author Jed Davis <jld@mozilla.com>
Tue, 09 Aug 2022 00:35:18 +0000
changeset 626479 8e1a65ad0c4d3b0ca9a076521252f2ba28fa898b
parent 529326 d4e1e62aed03db1d447f6b31b8d1347c2ad2e43b
permissions -rw-r--r--
Bug 1778052 - Don't reset ignored signals when starting a sandboxed child process on Linux. r=gcp We uninstall signal handlers in child processes after clone(), because they probably won't do the right thing if invoked in that context. However, the current code also resets signals which were ignored; if that disposition was set by an outside program like `nohup`, the expectation is that it should be inherited. This patch omits those signals when resetting handlers (similar to what `exec` does). Differential Revision: https://phabricator.services.mozilla.com/D151336

<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>Canvas test: 2d.line.cap.round</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/html/canvas/resources/canvas-tests.js"></script>
<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
<body class="show_output">

<h1>2d.line.cap.round</h1>
<p class="desc">lineCap 'round' is rendered correctly</p>


<p class="output">Actual output:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
<p class="output expectedtext">Expected output:<p><img src="/images/green-100x50.png" class="output expected" id="expected" alt="">
<ul id="d"></ul>
<script>
var t = async_test("lineCap 'round' is rendered correctly");
_addTest(function(canvas, ctx) {

ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, 100, 50);

var tol = 1; // tolerance to avoid antialiasing artifacts

ctx.lineCap = 'round';
ctx.lineWidth = 20;


ctx.fillStyle = '#f00';
ctx.strokeStyle = '#0f0';

ctx.beginPath();
ctx.moveTo(35-tol, 15);
ctx.arc(25, 15, 10-tol, 0, Math.PI, true);
ctx.arc(25, 35, 10-tol, Math.PI, 0, true);
ctx.fill();

ctx.beginPath();
ctx.moveTo(25, 15);
ctx.lineTo(25, 35);
ctx.stroke();


ctx.fillStyle = '#0f0';
ctx.strokeStyle = '#f00';

ctx.beginPath();
ctx.moveTo(75, 15);
ctx.lineTo(75, 35);
ctx.stroke();

ctx.beginPath();
ctx.moveTo(85+tol, 15);
ctx.arc(75, 15, 10+tol, 0, Math.PI, true);
ctx.arc(75, 35, 10+tol, Math.PI, 0, true);
ctx.fill();

_assertPixel(canvas, 17,6, 0,255,0,255, "17,6", "0,255,0,255");
_assertPixel(canvas, 25,6, 0,255,0,255, "25,6", "0,255,0,255");
_assertPixel(canvas, 32,6, 0,255,0,255, "32,6", "0,255,0,255");
_assertPixel(canvas, 17,43, 0,255,0,255, "17,43", "0,255,0,255");
_assertPixel(canvas, 25,43, 0,255,0,255, "25,43", "0,255,0,255");
_assertPixel(canvas, 32,43, 0,255,0,255, "32,43", "0,255,0,255");

_assertPixel(canvas, 67,6, 0,255,0,255, "67,6", "0,255,0,255");
_assertPixel(canvas, 75,6, 0,255,0,255, "75,6", "0,255,0,255");
_assertPixel(canvas, 82,6, 0,255,0,255, "82,6", "0,255,0,255");
_assertPixel(canvas, 67,43, 0,255,0,255, "67,43", "0,255,0,255");
_assertPixel(canvas, 75,43, 0,255,0,255, "75,43", "0,255,0,255");
_assertPixel(canvas, 82,43, 0,255,0,255, "82,43", "0,255,0,255");


});
</script>