// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. // OffscreenCanvas test in a worker:2d.state.saverestore.globalCompositeOperation // Description: // Note: importScripts("/resources/testharness.js"); importScripts("/html/canvas/resources/canvas-tests.js"); test(t => { const canvas = new OffscreenCanvas(300, 150); const ctx = canvas.getContext('2d'); const old = ctx.globalCompositeOperation; ctx.save(); ctx.globalCompositeOperation = "copy"; ctx.restore(); _assertSame(ctx.globalCompositeOperation, old, "ctx.globalCompositeOperation", "old"); }, "save()/restore() restores globalCompositeOperation, for a canvas of size (300, 150)."); test(t => { const canvas = new OffscreenCanvas(300, 150); const ctx = canvas.getContext('2d'); ctx.globalCompositeOperation = "copy"; const 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 "copy". ctx.save(); _assertSame(ctx.globalCompositeOperation, old, "ctx.globalCompositeOperation", "old"); ctx.restore(); }, "save() does not modify globalCompositeOperation, for a canvas of size (300, 150)."); test(t => { const canvas = new OffscreenCanvas(0, 0); const ctx = canvas.getContext('2d'); const old = ctx.globalCompositeOperation; ctx.save(); ctx.globalCompositeOperation = "copy"; ctx.restore(); _assertSame(ctx.globalCompositeOperation, old, "ctx.globalCompositeOperation", "old"); }, "save()/restore() restores globalCompositeOperation, for a canvas of size (0, 0)."); test(t => { const canvas = new OffscreenCanvas(0, 0); const ctx = canvas.getContext('2d'); ctx.globalCompositeOperation = "copy"; const 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 "copy". ctx.save(); _assertSame(ctx.globalCompositeOperation, old, "ctx.globalCompositeOperation", "old"); ctx.restore(); }, "save() does not modify globalCompositeOperation, for a canvas of size (0, 0)."); done();