<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>Canvas test: 2d.path.roundrect.4.radii.3.dompointinit</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.path.roundrect.4.radii.3.dompointinit</h1>
<p class="desc">Verify that when four radii are given to roundRect(), the third radius, specified as a DOMPointInit, applies to the bottom-right corner.</p>


<p class="output">Actual output:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>

<ul id="d"></ul>
<script>
var t = async_test("Verify that when four radii are given to roundRect(), the third radius, specified as a DOMPointInit, applies to the bottom-right corner.");
_addTest(function(canvas, ctx) {

ctx.fillStyle = '#f00';
ctx.fillRect(0, 0, 100, 50);
ctx.roundRect(0, 0, 100, 50, [0, 0, {x: 40, y: 20}, 0]);
ctx.fillStyle = '#0f0';
ctx.fill();

// bottom-right corner
_assertPixel(canvas, 79,48, 255,0,0,255, "79,48", "255,0,0,255");
_assertPixel(canvas, 58,48, 0,255,0,255, "58,48", "0,255,0,255");
_assertPixel(canvas, 98,39, 255,0,0,255, "98,39", "255,0,0,255");
_assertPixel(canvas, 98,28, 0,255,0,255, "98,28", "0,255,0,255");

// other corners
_assertPixel(canvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255");
_assertPixel(canvas, 98,1, 0,255,0,255, "98,1", "0,255,0,255");
_assertPixel(canvas, 1,48, 0,255,0,255, "1,48", "0,255,0,255");


});
</script>

