1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>OffscreenCanvas test: 2d.path.arc.nonfinite</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/html/canvas/resources/canvas-tests.js"></script>
<h1>2d.path.arc.nonfinite</h1>
<p class="desc">arc() with Infinity/NaN is ignored</p>
<script>
var t = async_test("arc() with Infinity/NaN is ignored");
var t_pass = t.done.bind(t);
var t_fail = t.step_func(function(reason) {
throw reason;
});
t.step(function() {
var canvas = new OffscreenCanvas(100, 50);
var ctx = canvas.getContext('2d');
ctx.fillStyle = '#f00';
ctx.fillRect(0, 0, 100, 50);
ctx.moveTo(0, 0);
ctx.lineTo(100, 0);
ctx.arc(Infinity, 0, 50, 0, 2*Math.PI, true);
ctx.arc(-Infinity, 0, 50, 0, 2*Math.PI, true);
ctx.arc(NaN, 0, 50, 0, 2*Math.PI, true);
ctx.arc(0, Infinity, 50, 0, 2*Math.PI, true);
ctx.arc(0, -Infinity, 50, 0, 2*Math.PI, true);
ctx.arc(0, NaN, 50, 0, 2*Math.PI, true);
ctx.arc(0, 0, Infinity, 0, 2*Math.PI, true);
ctx.arc(0, 0, -Infinity, 0, 2*Math.PI, true);
ctx.arc(0, 0, NaN, 0, 2*Math.PI, true);
ctx.arc(0, 0, 50, Infinity, 2*Math.PI, true);
ctx.arc(0, 0, 50, -Infinity, 2*Math.PI, true);
ctx.arc(0, 0, 50, NaN, 2*Math.PI, true);
ctx.arc(0, 0, 50, 0, Infinity, true);
ctx.arc(0, 0, 50, 0, -Infinity, true);
ctx.arc(0, 0, 50, 0, NaN, true);
ctx.arc(Infinity, Infinity, 50, 0, 2*Math.PI, true);
ctx.arc(Infinity, Infinity, Infinity, 0, 2*Math.PI, true);
ctx.arc(Infinity, Infinity, Infinity, Infinity, 2*Math.PI, true);
ctx.arc(Infinity, Infinity, Infinity, Infinity, Infinity, true);
ctx.arc(Infinity, Infinity, Infinity, 0, Infinity, true);
ctx.arc(Infinity, Infinity, 50, Infinity, 2*Math.PI, true);
ctx.arc(Infinity, Infinity, 50, Infinity, Infinity, true);
ctx.arc(Infinity, Infinity, 50, 0, Infinity, true);
ctx.arc(Infinity, 0, Infinity, 0, 2*Math.PI, true);
ctx.arc(Infinity, 0, Infinity, Infinity, 2*Math.PI, true);
ctx.arc(Infinity, 0, Infinity, Infinity, Infinity, true);
ctx.arc(Infinity, 0, Infinity, 0, Infinity, true);
ctx.arc(Infinity, 0, 50, Infinity, 2*Math.PI, true);
ctx.arc(Infinity, 0, 50, Infinity, Infinity, true);
ctx.arc(Infinity, 0, 50, 0, Infinity, true);
ctx.arc(0, Infinity, Infinity, 0, 2*Math.PI, true);
ctx.arc(0, Infinity, Infinity, Infinity, 2*Math.PI, true);
ctx.arc(0, Infinity, Infinity, Infinity, Infinity, true);
ctx.arc(0, Infinity, Infinity, 0, Infinity, true);
ctx.arc(0, Infinity, 50, Infinity, 2*Math.PI, true);
ctx.arc(0, Infinity, 50, Infinity, Infinity, true);
ctx.arc(0, Infinity, 50, 0, Infinity, true);
ctx.arc(0, 0, Infinity, Infinity, 2*Math.PI, true);
ctx.arc(0, 0, Infinity, Infinity, Infinity, true);
ctx.arc(0, 0, Infinity, 0, Infinity, true);
ctx.arc(0, 0, 50, Infinity, Infinity, true);
ctx.lineTo(100, 50);
ctx.lineTo(0, 50);
ctx.fillStyle = '#0f0';
ctx.fill();
_assertPixel(canvas, 50,25, 0,255,0,255);
_assertPixel(canvas, 90,45, 0,255,0,255);
t.done();
});
</script>
|