Status: PASS | Duration: 5ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-paint-api/registered-property-stylemap.https.html
<!DOCTYPE html> <html class="reftest-wait"> <title>Test styleMap functions</title> <link rel="help" href="https://drafts.css-houdini.org/css-paint-api/"> <link rel="match" href="parse-input-arguments-ref.html"> <script src="/common/reftest-wait.js"></script> <script src="/common/worklet-reftest.js"></script> <script src="./resources/utils.js"></script> <body> <style> #target { width: 100px; height: 100px; background: paint(style-map); } </style> <div id="target"></div> <script> try { CSS.registerProperty({ name: '--prop', syntax: '<length>+', initialValue: '10px 10px 10px 10px', inherits: false }); const worklet = ` registerPaint('style-map', class { static get inputProperties() { return ['--prop']; } paint(ctx, geom, styleMap) { let serialize = (v) => '[' + v.constructor.name + ' ' + v.toString() + ']'; let expected = '[CSSUnitValue 10px]'; let isExpected = x => serialize(x) === expected; let pass = true; pass &= styleMap.has('--prop'); pass &= isExpected(styleMap.get('--prop')); pass &= styleMap.getAll('--prop').length == 4; pass &= styleMap.getAll('--prop').every(isExpected); pass &= Array.from(styleMap).filter(e => e[0] == '--prop')[0][1].length == 4; pass &= Array.from(styleMap).filter(e => e[0] == '--prop')[0][1].every(isExpected); ctx.fillStyle = pass ? 'green' : 'red'; ctx.fillRect(0, 0, geom.width, geom.height); } });` importWorkletAndTerminateTestAfterAsyncPaint(CSS.paintWorklet, worklet); } catch(e) { document.body.textContent = e; takeScreenshot(); } </script> </body> </html>
/css/css-paint-api/parse-input-arguments-ref.html
<!DOCTYPE html> <html> <body> <canvas id ="canvas" width="100" height="100"></canvas> <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); context.fillStyle = 'green'; context.fillRect(0, 0, 100, 100); </script> </body> </html>