diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-layout-api/layout-child/support/layout-child-worklet.js')
-rw-r--r-- | testing/web-platform/tests/css/css-layout-api/layout-child/support/layout-child-worklet.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-layout-api/layout-child/support/layout-child-worklet.js b/testing/web-platform/tests/css/css-layout-api/layout-child/support/layout-child-worklet.js new file mode 100644 index 0000000000..70d1b7e457 --- /dev/null +++ b/testing/web-platform/tests/css/css-layout-api/layout-child/support/layout-child-worklet.js @@ -0,0 +1,26 @@ +import {areArraysEqual} from '/common/arrays.js'; + +registerLayout('test', class { + static get inputProperties() { + return [ '--child-expected']; + } + + static get childInputProperties() { + return [ '--child' ]; + } + + async intrinsicSizes() {} + async layout(children, edges, constraints, styleMap) { + const expected = JSON.parse(styleMap.get('--child-expected').toString()); + const actual = children.map((child) => { + return child.styleMap.get('--child').toString().trim(); + }); + + const childFragments = await Promise.all(children.map(child => child.layoutNextFragment({}))); + + if (!areArraysEqual(expected, actual)) + return {autoBlockSize: 0, childFragments}; + + return {autoBlockSize: 100, childFragments}; + } +}); |