<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
<title>Canvas test: 2d.state.saverestore.stack</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.state.saverestore.stack</h1>
<p class="desc">save()/restore() can be nested as a stack</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("save()/restore() can be nested as a stack");
_addTest(function(canvas, ctx) {

ctx.lineWidth = 1;
ctx.save();
ctx.lineWidth = 2;
ctx.save();
ctx.lineWidth = 3;
_assertSame(ctx.lineWidth, 3, "ctx.lineWidth", "3");
ctx.restore();
_assertSame(ctx.lineWidth, 2, "ctx.lineWidth", "2");
ctx.restore();
_assertSame(ctx.lineWidth, 1, "ctx.lineWidth", "1");


});
</script>

