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

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

// top-right corner
_assertPixel(canvas, 79,1, 255,0,0,255, "79,1", "255,0,0,255");
_assertPixel(canvas, 58,1, 0,255,0,255, "58,1", "0,255,0,255");
_assertPixel(canvas, 98,10, 255,0,0,255, "98,10", "255,0,0,255");
_assertPixel(canvas, 98,21, 0,255,0,255, "98,21", "0,255,0,255");

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


});
</script>

