summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-scroll-snap-2
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /testing/web-platform/tests/css/css-scroll-snap-2
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-scroll-snap-2')
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-computed.html140
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-invalid.html48
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-shorthand.html63
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-computed.html86
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-invalid.html36
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-shorthand.html31
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-valid.html34
-rw-r--r--testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-valid.html81
8 files changed, 519 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-computed.html b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-computed.html
new file mode 100644
index 0000000000..dd8a5e280f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-computed.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta charset="utf-8">
+ <title> CSS Scroll Snap 2 Test: scroll-start-* computed values</title>
+ <link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-start">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/css/support/computed-testcommon.js"></script>
+</head>
+
+<body>
+ <div id="target"></div>
+ <script>
+ test_computed_value("scroll-start", "start");
+ test_computed_value("scroll-start", "start start", "start");
+ test_computed_value("scroll-start", "100px");
+ test_computed_value("scroll-start", "50%");
+ test_computed_value("scroll-start", "center");
+ test_computed_value("scroll-start", "100px 200px");
+ test_computed_value("scroll-start", "50% 100px");
+ test_computed_value("scroll-start", "start 50%");
+ test_computed_value("scroll-start", "center start", "center");
+ test_computed_value("scroll-start", "end center");
+ test_computed_value("scroll-start", "top end");
+ test_computed_value("scroll-start", "bottom top");
+ test_computed_value("scroll-start", "left bottom");
+ test_computed_value("scroll-start", "right left");
+ test_computed_value("scroll-start", "auto right");
+ test_computed_value("scroll-start", "calc(1px)", "1px")
+ test_computed_value("scroll-start", "calc(1px) start", "1px")
+
+ test_computed_value("scroll-start-block", "100px");
+ test_computed_value("scroll-start-block", "50%");
+ test_computed_value("scroll-start-block", "start");
+ test_computed_value("scroll-start-block", "center");
+ test_computed_value("scroll-start-block", "end");
+ test_computed_value("scroll-start-block", "top");
+ test_computed_value("scroll-start-block", "bottom");
+ test_computed_value("scroll-start-block", "left");
+ test_computed_value("scroll-start-block", "right");
+ test_computed_value("scroll-start-block", "auto");
+ test_computed_value("scroll-start-block", "calc(-1px)", "0px");
+
+ test_computed_value("scroll-start-inline", "100px");
+ test_computed_value("scroll-start-inline", "50%");
+ test_computed_value("scroll-start-inline", "start");
+ test_computed_value("scroll-start-inline", "center");
+ test_computed_value("scroll-start-inline", "end");
+ test_computed_value("scroll-start-inline", "top");
+ test_computed_value("scroll-start-inline", "bottom");
+ test_computed_value("scroll-start-inline", "left");
+ test_computed_value("scroll-start-inline", "right");
+ test_computed_value("scroll-start-inline", "auto");
+ test_computed_value("scroll-start-inline", "calc(-1px)", "0px");
+
+ test_computed_value("scroll-start-x", "100px");
+ test_computed_value("scroll-start-x", "50%");
+ test_computed_value("scroll-start-x", "start");
+ test_computed_value("scroll-start-x", "center");
+ test_computed_value("scroll-start-x", "end");
+ test_computed_value("scroll-start-x", "top");
+ test_computed_value("scroll-start-x", "bottom");
+ test_computed_value("scroll-start-x", "left");
+ test_computed_value("scroll-start-x", "right");
+ test_computed_value("scroll-start-x", "auto");
+ test_computed_value("scroll-start-x", "calc(-1px)", "0px");
+
+ test_computed_value("scroll-start-y", "100px");
+ test_computed_value("scroll-start-y", "50%");
+ test_computed_value("scroll-start-y", "start");
+ test_computed_value("scroll-start-y", "center");
+ test_computed_value("scroll-start-y", "end");
+ test_computed_value("scroll-start-y", "top");
+ test_computed_value("scroll-start-y", "bottom");
+ test_computed_value("scroll-start-y", "left");
+ test_computed_value("scroll-start-y", "right");
+ test_computed_value("scroll-start-y", "auto");
+ test_computed_value("scroll-start-y", "calc(-1px)", "0px");
+
+ target.style = "";
+
+ // Test logical-physical mapping.
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartBlock = "100px";
+ assert_equals(getComputedStyle(target).scrollStartX, "auto");
+ assert_equals(getComputedStyle(target).scrollStartY, "100px");
+ }, "scroll-start-block maps to scroll-start-y in horizontal writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartInline = "200px";
+ assert_equals(getComputedStyle(target).scrollStartX, "200px");
+ assert_equals(getComputedStyle(target).scrollStartY, "auto");
+ }, "scroll-start-inline maps to scroll-start-x in horizontal writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartX = "100px";
+ assert_equals(getComputedStyle(target).scrollStartBlock, "auto");
+ assert_equals(getComputedStyle(target).scrollStartInline, "100px");
+ }, "scroll-start-x maps to scroll-start-inline in horizontal writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartY = "200px";
+ assert_equals(getComputedStyle(target).scrollStartBlock, "200px");
+ assert_equals(getComputedStyle(target).scrollStartInline, "auto");
+ }, "scroll-start-y maps to scroll-start-block in horizontal writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartBlock = "100px";
+ target.style.writingMode = "vertical-lr";
+ assert_equals(getComputedStyle(target).scrollStartX, "100px");
+ assert_equals(getComputedStyle(target).scrollStartY, "auto");
+ }, "scroll-start-block maps to scroll-start-x in vertical writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartInline = "200px";
+ target.style.writingMode = "vertical-lr";
+ assert_equals(getComputedStyle(target).scrollStartX, "auto");
+ assert_equals(getComputedStyle(target).scrollStartY, "200px");
+ }, "scroll-start-inline maps to scroll-start-y in vertical writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartX = "100px";
+ target.style.writingMode = "vertical-lr";
+ assert_equals(getComputedStyle(target).scrollStartBlock, "100px");
+ assert_equals(getComputedStyle(target).scrollStartInline, "auto");
+ }, "scroll-start-x maps to scroll-start-block in vertical writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartY = "200px";
+ target.style.writingMode = "vertical-lr";
+ assert_equals(getComputedStyle(target).scrollStartBlock, "auto");
+ assert_equals(getComputedStyle(target).scrollStartInline, "200px");
+ }, "scroll-start-y maps to scroll-start-inline in vertical writing mode.");
+ </script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-invalid.html b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-invalid.html
new file mode 100644
index 0000000000..01dbbc4858
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-invalid.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title> CSS Scroll Snap 2 Test: scroll-start-block with invalid values</title>
+ <link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-start">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+ <script>
+ test_invalid_value("scroll-start", "-100px");
+ test_invalid_value("scroll-start", "-50%");
+ test_invalid_value("scroll-start", "invalid_keyword");
+ test_invalid_value("scroll-start", "-100px -50%");
+ test_invalid_value("scroll-start", "-50% invalid_keyword");
+ test_invalid_value("scroll-start", "invalid_keyword invalid_keyword");
+ test_invalid_value("scroll-start", "-100px - 100px");
+ test_invalid_value("scroll-start", "-50% -100px");
+ test_invalid_value("scroll-start", "invalid_keyword -50%");
+ test_invalid_value("scroll-start", "-100px invalid_keyword");
+ test_invalid_value("scroll-start", "-50% -50%");
+ test_invalid_value("scroll-start", "invalid_keyword -100px");
+ test_invalid_value("scroll-start", "100px 200px 300px");
+
+ test_invalid_value("scroll-start-block", "-100px");
+ test_invalid_value("scroll-start-block", "-50%");
+ test_invalid_value("scroll-start-block", "invalid_keyword");
+ test_invalid_value("scroll-start-block", "100px 200px");
+
+ test_invalid_value("scroll-start-inline", "-100px");
+ test_invalid_value("scroll-start-inline", "-50%");
+ test_invalid_value("scroll-start-inline", "invalid_keyword");
+ test_invalid_value("scroll-start-inline", "100px 200px");
+
+ test_invalid_value("scroll-start-x", "-100px");
+ test_invalid_value("scroll-start-x", "-50%");
+ test_invalid_value("scroll-start-x", "invalid_keyword");
+ test_invalid_value("scroll-start-x", "100px 200px");
+
+ test_invalid_value("scroll-start-y", "-100px");
+ test_invalid_value("scroll-start-y", "-50%");
+ test_invalid_value("scroll-start-y", "invalid_keyword");
+ test_invalid_value("scroll-start-y", "100px 200px");
+ </script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-shorthand.html b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-shorthand.html
new file mode 100644
index 0000000000..22e206ec62
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-shorthand.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Scroll Snap 2 Test: scroll-start sets longhands</title>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-start">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/shorthand-testcommon.js"></script>
+</head>
+
+<body>
+ <script>
+ test_shorthand_value('scroll-start', '100px', {
+ 'scroll-start-block': '100px',
+ 'scroll-start-inline': 'start',
+ });
+ test_shorthand_value('scroll-start', '50%', {
+ 'scroll-start-block': '50%',
+ 'scroll-start-inline': 'start',
+ });
+ test_shorthand_value('scroll-start', 'center', {
+ 'scroll-start-block': 'center',
+ 'scroll-start-inline': 'start',
+ });
+ test_shorthand_value('scroll-start', '100px 200px', {
+ 'scroll-start-block': '100px',
+ 'scroll-start-inline': '200px',
+ });
+ test_shorthand_value('scroll-start', '100px 50%', {
+ 'scroll-start-block': '100px',
+ 'scroll-start-inline': '50%',
+ });
+ test_shorthand_value('scroll-start', '100px center', {
+ 'scroll-start-block': '100px',
+ 'scroll-start-inline': 'center',
+ });
+ test_shorthand_value('scroll-start', '50% 200px', {
+ 'scroll-start-block': '50%',
+ 'scroll-start-inline': '200px',
+ });
+ test_shorthand_value('scroll-start', '50% 25%', {
+ 'scroll-start-block': '50%',
+ 'scroll-start-inline': '25%',
+ });
+ test_shorthand_value('scroll-start', '50% center', {
+ 'scroll-start-block': '50%',
+ 'scroll-start-inline': 'center',
+ });
+ test_shorthand_value('scroll-start', 'center 200px', {
+ 'scroll-start-block': 'center',
+ 'scroll-start-inline': '200px',
+ });
+ test_shorthand_value('scroll-start', 'center 25%', {
+ 'scroll-start-block': 'center',
+ 'scroll-start-inline': '25%',
+ });
+ test_shorthand_value('scroll-start', 'center end', {
+ 'scroll-start-block': 'center',
+ 'scroll-start-inline': 'end',
+ });
+ </script>
+</body> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-computed.html b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-computed.html
new file mode 100644
index 0000000000..bb31f2b244
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-computed.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta charset="utf-8">
+ <title> CSS Scroll Snap 2 Test: scroll-start-target-* computed values</title>
+ <link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-start">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/css/support/computed-testcommon.js"></script>
+</head>
+
+<body>
+ <div id="target"></div>
+ <script>
+ test_computed_value("scroll-start-target-block", "auto");
+ test_computed_value("scroll-start-target-block", "none");
+
+ test_computed_value("scroll-start-target-inline", "auto");
+ test_computed_value("scroll-start-target-inline", "none");
+
+ test_computed_value("scroll-start-target-x", "auto");
+ test_computed_value("scroll-start-target-x", "none");
+
+ test_computed_value("scroll-start-target-y", "auto");
+ test_computed_value("scroll-start-target-y", "none");
+
+ target.style = "";
+
+ // Test logical-physical mapping.
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartTargetBlock = "auto";
+ assert_equals(getComputedStyle(target).scrollStartTargetX, "none");
+ assert_equals(getComputedStyle(target).scrollStartTargetY, "auto");
+ }, "scroll-start-block maps to scroll-start-y in horizontal writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartTargetInline = "auto";
+ assert_equals(getComputedStyle(target).scrollStartTargetX, "auto");
+ assert_equals(getComputedStyle(target).scrollStartTargetY, "none");
+ }, "scroll-start-inline maps to scroll-start-x in horizontal writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartTargetX = "auto";
+ assert_equals(getComputedStyle(target).scrollStartTargetBlock, "none");
+ assert_equals(getComputedStyle(target).scrollStartTargetInline, "auto");
+ }, "scroll-start-x maps to scroll-start-inline in horizontal writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartTargetY = "auto";
+ assert_equals(getComputedStyle(target).scrollStartTargetBlock, "auto");
+ assert_equals(getComputedStyle(target).scrollStartTargetInline, "none");
+ }, "scroll-start-y maps to scroll-start-block in horizontal writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartTargetBlock = "auto";
+ target.style.writingMode = "vertical-lr";
+ assert_equals(getComputedStyle(target).scrollStartTargetX, "auto");
+ assert_equals(getComputedStyle(target).scrollStartTargetY, "none");
+ }, "scroll-start-block maps to scroll-start-x in vertical writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartTargetInline = "auto";
+ target.style.writingMode = "vertical-lr";
+ assert_equals(getComputedStyle(target).scrollStartTargetX, "none");
+ assert_equals(getComputedStyle(target).scrollStartTargetY, "auto");
+ }, "scroll-start-inline maps to scroll-start-y in vertical writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartTargetX = "auto";
+ target.style.writingMode = "vertical-lr";
+ assert_equals(getComputedStyle(target).scrollStartTargetBlock, "auto");
+ assert_equals(getComputedStyle(target).scrollStartTargetInline, "none");
+ }, "scroll-start-x maps to scroll-start-block in vertical writing mode.");
+ test((t) => {
+ t.add_cleanup(() => { target.style = ""; });
+ target.style.scrollStartTargetY = "auto";
+ target.style.writingMode = "vertical-lr";
+ assert_equals(getComputedStyle(target).scrollStartTargetBlock, "none");
+ assert_equals(getComputedStyle(target).scrollStartTargetInline, "auto");
+ }, "scroll-start-y maps to scroll-start-inline in vertical writing mode.");
+ </script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-invalid.html b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-invalid.html
new file mode 100644
index 0000000000..03ca718629
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-invalid.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title> CSS Scroll Snap 2 Test: scroll-start-target-* with invalid values</title>
+ <link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-start">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+ <script>
+ test_invalid_value("scroll-start-target", "invalid_keyword");
+ test_invalid_value("scroll-start-target", "100px");
+ test_invalid_value("scroll-start-target", "none none none");
+ test_invalid_value("scroll-start-target", "invalid_keyword1 invalid_keyword2");
+ test_invalid_value("scroll-start-target", "100px 100px");
+
+ test_invalid_value("scroll-start-target-block", "invalid_keyword");
+ test_invalid_value("scroll-start-target-block", "100px");
+ test_invalid_value("scroll-start-target-block", "none none");
+
+ test_invalid_value("scroll-start-target-inline", "invalid_keyword");
+ test_invalid_value("scroll-start-target-inline", "100px");
+ test_invalid_value("scroll-start-target-inline", "none none");
+
+ test_invalid_value("scroll-start-target-x", "invalid_keyword");
+ test_invalid_value("scroll-start-target-x", "100px");
+ test_invalid_value("scroll-start-target-x", "none none");
+
+ test_invalid_value("scroll-start-target-y", "invalid_keyword");
+ test_invalid_value("scroll-start-target-y", "100px");
+ test_invalid_value("scroll-start-target-y", "none none");
+ </script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-shorthand.html b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-shorthand.html
new file mode 100644
index 0000000000..6017157842
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-shorthand.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Scroll Snap 2 Test: scroll-none-target sets longhands</title>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-start-target">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/shorthand-testcommon.js"></script>
+</head>
+
+<body>
+ <script>
+ test_shorthand_value("scroll-start-target", "none", {
+ "scroll-start-target-block": "none",
+ "scroll-start-target-inline": "none",
+ });
+ test_shorthand_value("scroll-start-target", "auto", {
+ "scroll-start-target-block": "auto",
+ "scroll-start-target-inline": "none",
+ });
+ test_shorthand_value("scroll-start-target", "none auto", {
+ "scroll-start-target-block": "none",
+ "scroll-start-target-inline": "auto",
+ });
+ test_shorthand_value("scroll-start-target", "auto none", {
+ "scroll-start-target-block": "auto",
+ "scroll-start-target-inline": "none",
+ });
+ </script>
+</body> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-valid.html b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-valid.html
new file mode 100644
index 0000000000..aed964bdff
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-target-valid.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta charset="utf-8">
+ <title> CSS Scroll Snap 2 Test: scroll-start-target-* with valid values</title>
+ <link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-start">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/css/support/parsing-testcommon.js"></script>
+</head>
+
+<body>
+ <script>
+ test_valid_value("scroll-start-target", "none");
+ test_valid_value("scroll-start-target", "auto");
+ test_valid_value("scroll-start-target", "none auto");
+ test_valid_value("scroll-start-target", "auto none", "auto");
+
+ test_valid_value("scroll-start-target-block", "none");
+ test_valid_value("scroll-start-target-block", "auto");
+
+ test_valid_value("scroll-start-target-inline", "none");
+ test_valid_value("scroll-start-target-inline", "auto");
+
+ test_valid_value("scroll-start-target-x", "none");
+ test_valid_value("scroll-start-target-x", "auto");
+
+ test_valid_value("scroll-start-target-y", "none");
+ test_valid_value("scroll-start-target-y", "auto");
+ </script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-valid.html b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-valid.html
new file mode 100644
index 0000000000..c472979543
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-snap-2/parsing/scroll-start-valid.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta charset="utf-8">
+ <title> CSS Scroll Snap 2 Test: scroll-start-block with valid values</title>
+ <link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-start">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/css/support/parsing-testcommon.js"></script>
+</head>
+
+<body>
+ <script>
+ test_valid_value("scroll-start", "start");
+ test_valid_value("scroll-start", "start start", "start");
+ test_valid_value("scroll-start", "50%");
+ test_valid_value("scroll-start", "center");
+ test_valid_value("scroll-start", "100px 200px");
+ test_valid_value("scroll-start", "50% 100px");
+ test_valid_value("scroll-start", "start 50%");
+ test_valid_value("scroll-start", "center start", "center");
+ test_valid_value("scroll-start", "end center");
+ test_valid_value("scroll-start", "top end");
+ test_valid_value("scroll-start", "bottom top");
+ test_valid_value("scroll-start", "left bottom");
+ test_valid_value("scroll-start", "right left");
+ test_valid_value("scroll-start", "auto right");
+ test_valid_value("scroll-start", "calc(1px) auto");
+
+ test_valid_value("scroll-start-block", "100px");
+ test_valid_value("scroll-start-block", "50%");
+ test_valid_value("scroll-start-block", "start");
+ test_valid_value("scroll-start-block", "center");
+ test_valid_value("scroll-start-block", "end");
+ test_valid_value("scroll-start-block", "top");
+ test_valid_value("scroll-start-block", "bottom");
+ test_valid_value("scroll-start-block", "left");
+ test_valid_value("scroll-start-block", "right");
+ test_valid_value("scroll-start-block", "auto");
+ test_valid_value("scroll-start-block", "calc(-1px)");
+
+ test_valid_value("scroll-start-inline", "100px");
+ test_valid_value("scroll-start-inline", "50%");
+ test_valid_value("scroll-start-inline", "start");
+ test_valid_value("scroll-start-inline", "center");
+ test_valid_value("scroll-start-inline", "end");
+ test_valid_value("scroll-start-inline", "top");
+ test_valid_value("scroll-start-inline", "bottom");
+ test_valid_value("scroll-start-inline", "left");
+ test_valid_value("scroll-start-inline", "right");
+ test_valid_value("scroll-start-inline", "auto");
+ test_valid_value("scroll-start-inline", "calc(-1px)");
+
+ test_valid_value("scroll-start-x", "100px");
+ test_valid_value("scroll-start-x", "50%");
+ test_valid_value("scroll-start-x", "start");
+ test_valid_value("scroll-start-x", "center");
+ test_valid_value("scroll-start-x", "end");
+ test_valid_value("scroll-start-x", "top");
+ test_valid_value("scroll-start-x", "bottom");
+ test_valid_value("scroll-start-x", "left");
+ test_valid_value("scroll-start-x", "right");
+ test_valid_value("scroll-start-x", "auto");
+ test_valid_value("scroll-start-x", "calc(-1px)");
+
+ test_valid_value("scroll-start-y", "100px");
+ test_valid_value("scroll-start-y", "50%");
+ test_valid_value("scroll-start-y", "start");
+ test_valid_value("scroll-start-y", "center");
+ test_valid_value("scroll-start-y", "end");
+ test_valid_value("scroll-start-y", "top");
+ test_valid_value("scroll-start-y", "bottom");
+ test_valid_value("scroll-start-y", "left");
+ test_valid_value("scroll-start-y", "right");
+ test_valid_value("scroll-start-y", "auto");
+ test_valid_value("scroll-start-y", "calc(-1px)");
+ </script>
+</body>
+
+</html> \ No newline at end of file