summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-position/sticky
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-position/sticky')
-rw-r--r--testing/web-platform/tests/css/css-position/sticky/position-sticky-left-004.html37
-rw-r--r--testing/web-platform/tests/css/css-position/sticky/position-sticky-left-005.html38
-rw-r--r--testing/web-platform/tests/css/css-position/sticky/position-sticky-left-006.html38
-rw-r--r--testing/web-platform/tests/css/css-position/sticky/position-sticky-margins-002.html38
-rw-r--r--testing/web-platform/tests/css/css-position/sticky/position-sticky-margins-003.html36
-rw-r--r--testing/web-platform/tests/css/css-position/sticky/position-sticky-scrolled-remove-sibling-002.html42
-rw-r--r--testing/web-platform/tests/css/css-position/sticky/position-sticky-top-004.html37
-rw-r--r--testing/web-platform/tests/css/css-position/sticky/position-sticky-top-005.html38
-rw-r--r--testing/web-platform/tests/css/css-position/sticky/position-sticky-top-006.html38
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>