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

var imgdata = ctx.getImageData(0, 0, 10, 10);
var w = imgdata.width;
var h = imgdata.height;
var d = imgdata.data;
imgdata.width = 123;
imgdata.height = 123;
imgdata.data = [100,100,100,100];
_assertSame(imgdata.width, w, "imgdata.width", "w");
_assertSame(imgdata.height, h, "imgdata.height", "h");
_assertSame(imgdata.data, d, "imgdata.data", "d");
_assertSame(imgdata.data[0], 0, "imgdata.data[\""+(0)+"\"]", "0");
_assertSame(imgdata.data[1], 0, "imgdata.data[\""+(1)+"\"]", "0");
_assertSame(imgdata.data[2], 0, "imgdata.data[\""+(2)+"\"]", "0");
_assertSame(imgdata.data[3], 0, "imgdata.data[\""+(3)+"\"]", "0");


});
</script>

