<!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="/common/canvas-tests.js"></script>
<link rel="stylesheet" href="/common/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>

