1
0
Fork 0
firefox/testing/web-platform/tests/css/css-position/sticky/position-sticky-parsing.html
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

59 lines
1.6 KiB
HTML

<!DOCTYPE html>
<title>Position value 'sticky' should be a valid value</title>
<link rel="help" href="https://www.w3.org/TR/css-position-3/#position-property" />
<meta name="assert" content="This test checks that setting position to 'sticky'
should be allowed." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<!-- We need something to create elements in. -->
<body></body>
<script>
const displayTypes = [
'block',
'inline',
'run-in',
'flow',
'flow-root',
'table',
'flex',
'grid',
'ruby',
'subgrid',
'list-item',
'table-row-group',
'table-header-group',
'table-footer-group',
'table-row',
'table-cell',
'table-caption',
// Sticky does not apply to table-column or table-column-group, but the
// computed value should still be sticky.
'table-column',
'table-column-group',
'ruby-base',
'ruby-text',
'ruby-base-container',
'ruby-text-container',
'contents',
'none',
];
test(() => {
for (displayValue of displayTypes) {
let div = document.createElement('div');
let style = `position: sticky; display: ${displayValue};`;
div.setAttribute('style', style);
document.body.appendChild(div);
// We only check display values that the browser under test recognizes.
if (div.style.display == displayValue) {
assert_equals(getComputedStyle(div).position, 'sticky',
`Expected sticky to be valid for display: ${displayValue}`);
}
document.body.removeChild(div);
}
}, 'The value of sticky for the position property should be parsed correctly');
</script>