diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
commit | 8dd16259287f58f9273002717ec4d27e97127719 (patch) | |
tree | 3863e62a53829a84037444beab3abd4ed9dfc7d0 /testing/web-platform/tests/css/css-position/sticky | |
parent | Releasing progress-linux version 126.0.1-1~progress7.99u1. (diff) | |
download | firefox-8dd16259287f58f9273002717ec4d27e97127719.tar.xz firefox-8dd16259287f58f9273002717ec4d27e97127719.zip |
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-position/sticky')
9 files changed, 342 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-left-004.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-left-004.html new file mode 100644 index 0000000000..79188e84b0 --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-left-004.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Position Test: Test position:sticky element with 100% left in a block container</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-position/#sticky-pos"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1748891"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1835705"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that a position:sticky element with 100% left value does not cause the scrollbar to show when shrinking the width of its overflow container."> + +<style> +#scroll { + width: 200px; + height: 100px; + overflow: auto; + background: red; +} +.sticky { + position: sticky; + width: 100px; + height: 100px; + left: 100%; + background: green; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div id="scroll"> + <div class="sticky"></div> +</div> + +<script> +window.onload = () => { + document.getElementById("scroll").style.width = "100px"; +}; +</script> diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-left-005.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-left-005.html new file mode 100644 index 0000000000..b029e59363 --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-left-005.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Position Test: Test position:sticky element with 100% left in a grid container</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-position/#sticky-pos"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1748891"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1835705"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that a position:sticky element with 100% left value does not cause the scrollbar to show when shrinking the width of its overflow container."> + +<style> +#scroll { + display: grid; + width: 200px; + height: 100px; + overflow: auto; + background: red; +} +.sticky { + position: sticky; + width: 100px; + height: 100px; + left: 100%; + background: green; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div id="scroll"> + <div class="sticky"></div> +</div> + +<script> +window.onload = () => { + document.getElementById("scroll").style.width = "100px"; +}; +</script> diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-left-006.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-left-006.html new file mode 100644 index 0000000000..63fa1ebfd8 --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-left-006.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Position Test: Test position:sticky element with 100% left in a flex container</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-position/#sticky-pos"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1748891"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1835705"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that a position:sticky element with 100% left value does not cause the scrollbar to show when shrinking the width of its overflow container."> + +<style> +#scroll { + display: flex; + width: 200px; + height: 100px; + overflow: auto; + background: red; +} +.sticky { + position: sticky; + width: 100px; + height: 100px; + left: 100%; + background: green; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div id="scroll"> + <div class="sticky"></div> +</div> + +<script> +window.onload = () => { + document.getElementById("scroll").style.width = "100px"; +}; +</script> diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-margins-002.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-margins-002.html new file mode 100644 index 0000000000..29833ccae0 --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-margins-002.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Position Test: Test position:sticky element with auto margin in flex container</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-position/#staticpos-rect"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1488080"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that a position:sticky element aligning with 'auto' margin still honors the sticky positioning."> + +<style> +#container{ + width: 100px; + height: 100px; + overflow: hidden; + background: red; +} +.flex { + display: flex; + flex-direction: column; + height: 500px; +} +.child { + width: 100px; + height: 100px; + background: green; + position: sticky; + margin-top: auto; + bottom: 0; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div id="container"> + <div class="flex"> + <div class="child"></div> + </div> +</div> diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-margins-003.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-margins-003.html new file mode 100644 index 0000000000..2bc1a3ef25 --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-margins-003.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Position Test: Test position:sticky element with auto margin in block container</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-position/#staticpos-rect"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1488080"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that a position:sticky element aligning with 'auto' margin still honors the sticky positioning."> + +<style> +#container{ + width: 100px; + height: 100px; + overflow: hidden; + background: red; +} +.block { + width: 500px; +} +.child { + width: 100px; + height: 100px; + background: green; + position: sticky; + margin-left: auto; + right: 0; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div id="container"> + <div class="block"> + <div class="child"> + </div> +</div> diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-scrolled-remove-sibling-002.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-scrolled-remove-sibling-002.html new file mode 100644 index 0000000000..870efa417c --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-scrolled-remove-sibling-002.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-position/#sticky-pos"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1612561"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that there is no vertical scrollbar after removing the sibling that overflows the scroll container"> + +<style> +#scroll { + width: 100px; + height: 100px; + overflow: auto; + background: green; +} +.sticky { + position: sticky; + width: 50px; + height: 100px; + top: 0; + margin-bottom: -100px; +} +#sibling { + width: 50px; + height: 500px; + background: red; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div id="scroll"> + <div class="sticky"></div> + <div id="sibling"></div> +</div> + +<script> +window.onload = () => { + document.getElementById("scroll").scrollTop = 200; + document.getElementById("sibling").remove(); +}; +</script> diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-top-004.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-top-004.html new file mode 100644 index 0000000000..bf0b87ab36 --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-top-004.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Position Test: Test position:sticky element with 100% top in a block container</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-position/#sticky-pos"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1748891"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1835705"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that a position:sticky element with 100% top value does not cause the scrollbar to show when shrinking the height of its container."> + +<style> +#scroll { + width: 100px; + height: 200px; + overflow: auto; + background: red; +} +.sticky { + position: sticky; + width: 100px; + height: 100px; + top: 100%; + background: green; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div id="scroll"> + <div class="sticky"></div> +</div> + +<script> +window.onload = () => { + document.getElementById("scroll").style.height = "100px"; +}; +</script> diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-top-005.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-top-005.html new file mode 100644 index 0000000000..5f76a722b5 --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-top-005.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Position Test: Test position:sticky element with 100% top in a grid container</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-position/#sticky-pos"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1748891"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1835705"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that a position:sticky element with 100% top value does not cause the scrollbar to show when shrinking the height of its container."> + +<style> +#scroll { + display: grid; + width: 100px; + height: 200px; + overflow: auto; + background: red; +} +.sticky { + position: sticky; + width: 100px; + height: 100px; + top: 100%; + background: green; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div id="scroll"> + <div class="sticky"></div> +</div> + +<script> +window.onload = () => { + document.getElementById("scroll").style.height = "100px"; +}; +</script> diff --git a/testing/web-platform/tests/css/css-position/sticky/position-sticky-top-006.html b/testing/web-platform/tests/css/css-position/sticky/position-sticky-top-006.html new file mode 100644 index 0000000000..4ac5310bf3 --- /dev/null +++ b/testing/web-platform/tests/css/css-position/sticky/position-sticky-top-006.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Position Test: Test position:sticky element with 100% top in a flex container</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-position/#sticky-pos"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1748891"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1835705"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<meta name="assert" content="This test verifies that a position:sticky element with 100% top value does not cause the scrollbar to show when shrinking the height of its container."> + +<style> +#scroll { + display: flex; + width: 100px; + height: 200px; + overflow: auto; + background: red; +} +.sticky { + position: sticky; + width: 100px; + height: 100px; + top: 100%; + background: green; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div id="scroll"> + <div class="sticky"></div> +</div> + +<script> +window.onload = () => { + document.getElementById("scroll").style.height = "100px"; +}; +</script> |