<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
<title>OffscreenCanvas test: 2d.state.saverestore.stackdepth</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/canvas-tests.js"></script>

<h1>2d.state.saverestore.stackdepth</h1>
<p class="desc">save()/restore() stack depth is not unreasonably limited</p>


<script>
var t = async_test("save()/restore() stack depth is not unreasonably limited");
t.step(function() {

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

var limit = 512;
for (var i = 1; i < limit; ++i)
{
    ctx.save();
    ctx.lineWidth = i;
}
for (var i = limit-1; i > 0; --i)
{
    _assertSame(ctx.lineWidth, i, "ctx.lineWidth", "i");
    ctx.restore();
}

t.done();

});
</script>
