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

<h1>2d.imageData.get.source.negative</h1>
<p class="desc">getImageData() works with negative width and height, and returns top-to-bottom left-to-right</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("getImageData() works with negative width and height, and returns top-to-bottom left-to-right");
_addTest(function(canvas, ctx) {

ctx.fillStyle = '#000';
ctx.fillRect(0, 0, 100, 50);
ctx.fillStyle = '#fff';
ctx.fillRect(20, 10, 60, 10);

var imgdata1 = ctx.getImageData(85, 25, -10, -10);
_assertSame(imgdata1.data[0], 255, "imgdata1.data[\""+(0)+"\"]", "255");
_assertSame(imgdata1.data[1], 255, "imgdata1.data[\""+(1)+"\"]", "255");
_assertSame(imgdata1.data[2], 255, "imgdata1.data[\""+(2)+"\"]", "255");
_assertSame(imgdata1.data[3], 255, "imgdata1.data[\""+(3)+"\"]", "255");
_assertSame(imgdata1.data[imgdata1.data.length-4+0], 0, "imgdata1.data[imgdata1.data.length-4+0]", "0");
_assertSame(imgdata1.data[imgdata1.data.length-4+1], 0, "imgdata1.data[imgdata1.data.length-4+1]", "0");
_assertSame(imgdata1.data[imgdata1.data.length-4+2], 0, "imgdata1.data[imgdata1.data.length-4+2]", "0");
_assertSame(imgdata1.data[imgdata1.data.length-4+3], 255, "imgdata1.data[imgdata1.data.length-4+3]", "255");

var imgdata2 = ctx.getImageData(0, 0, -1, -1);
_assertSame(imgdata2.data[0], 0, "imgdata2.data[\""+(0)+"\"]", "0");
_assertSame(imgdata2.data[1], 0, "imgdata2.data[\""+(1)+"\"]", "0");
_assertSame(imgdata2.data[2], 0, "imgdata2.data[\""+(2)+"\"]", "0");
_assertSame(imgdata2.data[3], 0, "imgdata2.data[\""+(3)+"\"]", "0");


});
</script>

