| <!DOCTYPE html> |
| <!-- DO NOT EDIT! This test has been generated by tools/gentest.py. --> |
| <title>Canvas test: 2d.state.saverestore.globalCompositeOperation</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.state.saverestore.globalCompositeOperation</h1> |
| <p class="desc">save()/restore() works for globalCompositeOperation</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() works for globalCompositeOperation"); |
| _addTest(function(canvas, ctx) { |
| |
| // Test that restore() undoes any modifications |
| var old = ctx.globalCompositeOperation; |
| ctx.save(); |
| ctx.globalCompositeOperation = "copy"; |
| ctx.restore(); |
| _assertSame(ctx.globalCompositeOperation, old, "ctx.globalCompositeOperation", "old"); |
| |
| // Also test that save() doesn't modify the values |
| ctx.globalCompositeOperation = "copy"; |
| old = ctx.globalCompositeOperation; |
| // we're not interested in failures caused by get(set(x)) != x (e.g. |
| // from rounding), so compare against 'old' instead of against "copy" |
| ctx.save(); |
| _assertSame(ctx.globalCompositeOperation, old, "ctx.globalCompositeOperation", "old"); |
| ctx.restore(); |
| |
| |
| }); |
| </script> |
| |