<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
<title>OffscreenCanvas 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>

<h1>2d.imageData.object.readonly</h1>
<p class="desc">ImageData objects properties are read-only</p>


<script>
var t = async_test("ImageData objects properties are read-only");
t.step(function() {

var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');

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");

t.done();

});
</script>
