<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
<title>Canvas test: 2d.imageData.object.ctor.array</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.object.ctor.array</h1>
<p class="desc">ImageData has a usable constructor</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("ImageData has a usable constructor");
_addTest(function(canvas, ctx) {

_assertDifferent(window.ImageData, undefined, "window.ImageData", "undefined");

var array = new Uint8ClampedArray(8);
var imgdata = new window.ImageData(array, 1, 2);
_assertSame(imgdata.width, 1, "imgdata.width", "1");
_assertSame(imgdata.height, 2, "imgdata.height", "2");
_assertSame(imgdata.data, array, "imgdata.data", "array");


});
</script>

