| <!DOCTYPE html> |
| <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> |
| <title>OffscreenCanvas test: 2d.state.saverestore.globalAlpha</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/html/canvas/resources/canvas-tests.js"></script> |
| |
| <h1>2d.state.saverestore.globalAlpha</h1> |
| <p class="desc">save()/restore() works for globalAlpha</p> |
| |
| |
| <script> |
| var t = async_test("save()/restore() works for globalAlpha"); |
| var t_pass = t.done.bind(t); |
| var t_fail = t.step_func(function(reason) { |
| throw reason; |
| }); |
| t.step(function() { |
| |
| var offscreenCanvas = new OffscreenCanvas(100, 50); |
| var ctx = offscreenCanvas.getContext('2d'); |
| |
| // Test that restore() undoes any modifications |
| var old = ctx.globalAlpha; |
| ctx.save(); |
| ctx.globalAlpha = 0.5; |
| ctx.restore(); |
| _assertSame(ctx.globalAlpha, old, "ctx.globalAlpha", "old"); |
| |
| // Also test that save() doesn't modify the values |
| ctx.globalAlpha = 0.5; |
| old = ctx.globalAlpha; |
| // we're not interested in failures caused by get(set(x)) != x (e.g. |
| // from rounding), so compare against 'old' instead of against 0.5 |
| ctx.save(); |
| _assertSame(ctx.globalAlpha, old, "ctx.globalAlpha", "old"); |
| ctx.restore(); |
| t.done(); |
| |
| }); |
| </script> |