diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-position/sticky/position-sticky-parsing.html')
-rw-r--r-- | testing/web-platform/tests/css/css-position/sticky/position-sticky-parsing.html | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-parsing.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-parsing.html new file mode 100644 index 0000000000..b147429e69 --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-parsing.html @@ -0,0 +1,59 @@ +<!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> |