summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-borders
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
commitd8bbc7858622b6d9c278469aab701ca0b609cddf (patch)
treeeff41dc61d9f714852212739e6b3738b82a2af87 /testing/web-platform/tests/css/css-borders
parentReleasing progress-linux version 125.0.3-1~progress7.99u1. (diff)
downloadfirefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz
firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip
Merging upstream version 126.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-borders')
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-computed.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-invalid.html23
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-valid.html21
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-computed.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-invalid.html23
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-valid.html21
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-computed.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-invalid.html23
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-valid.html21
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-computed.html21
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-invalid.html17
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-valid.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-computed.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-invalid.html23
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-valid.html21
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-computed.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-invalid.html23
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-valid.html21
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-computed.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-invalid.html23
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-valid.html21
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-computed.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-invalid.html23
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-valid.html21
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-computed.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-invalid.html23
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-valid.html21
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-computed.html18
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-invalid.html18
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-valid.html17
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-computed.html31
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-invalid.html22
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-valid.html29
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-computed.html20
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-invalid.html16
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-valid.html19
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-computed.html18
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-invalid.html17
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-valid.html16
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-computed.html19
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-invalid.html17
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-valid.html17
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-computed.html19
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-invalid.html18
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-valid.html18
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/corners-computed.html50
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/corners-invalid.html25
-rw-r--r--testing/web-platform/tests/css/css-borders/tentative/parsing/corners-valid.html48
48 files changed, 1042 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-computed.html
new file mode 100644
index 0000000000..fd096fa17c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-computed.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'border-block-end-radius'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert" content="This test checks that the computed value of 'border-block-end-radius' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("border-block-end-radius", "10px");
+test_computed_value("border-block-end-radius", "10px 10px", "10px");
+test_computed_value("border-block-end-radius", "5px 10px");
+test_computed_value("border-block-end-radius", "10px / 5px 10px");
+test_computed_value("border-block-end-radius", "5px 10px / 10px");
+test_computed_value("border-block-end-radius", "10px 10px / 5px 5px", "10px / 5px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-invalid.html
new file mode 100644
index 0000000000..a9554bd924
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-block-end-radius' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-block-end-radius' supports only the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("border-block-end-radius", "auto");
+test_invalid_value("border-block-end-radius", "none");
+test_invalid_value("border-block-end-radius", "1px 2px 3px");
+test_invalid_value("border-block-end-radius", "-1px");
+test_invalid_value("border-block-end-radius", "1px -2px");
+test_invalid_value("border-block-end-radius", "1em /");
+test_invalid_value("border-block-end-radius", "1px / 2px 3px 4px");
+test_invalid_value("border-block-end-radius", "1px / 2px / 3px");
+test_invalid_value("border-block-end-radius", "4");
+test_invalid_value("border-block-end-radius", "4 / 5");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-valid.html
new file mode 100644
index 0000000000..2989b349a1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-end-radius-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-block-end-radius' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-block-end-radius' supports the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("border-block-end-radius", "1px");
+test_valid_value("border-block-end-radius", "10%");
+test_valid_value("border-block-end-radius", "1px 5%");
+test_valid_value("border-block-end-radius", "5% 1px");
+test_valid_value("border-block-end-radius", "1px / 2px");
+test_valid_value("border-block-end-radius", "1px / 1px 2%");
+test_valid_value("border-block-end-radius", "1px 2% / 3%");
+test_valid_value("border-block-end-radius", "1px 2% / 3px 4px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-computed.html
new file mode 100644
index 0000000000..292ae1b6dc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-computed.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'border-block-start-radius'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert" content="This test checks that the computed value of 'border-block-start-radius' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("border-block-start-radius", "10px");
+test_computed_value("border-block-start-radius", "10px 10px", "10px");
+test_computed_value("border-block-start-radius", "5px 10px");
+test_computed_value("border-block-start-radius", "10px / 5px 10px");
+test_computed_value("border-block-start-radius", "5px 10px / 10px");
+test_computed_value("border-block-start-radius", "10px 10px / 5px 5px", "10px / 5px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-invalid.html
new file mode 100644
index 0000000000..0a9a8a9bb7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-block-start-radius' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-block-start-radius' supports only the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("border-block-start-radius", "auto");
+test_invalid_value("border-block-start-radius", "none");
+test_invalid_value("border-block-start-radius", "1px 2px 3px");
+test_invalid_value("border-block-start-radius", "-1px");
+test_invalid_value("border-block-start-radius", "1px -2px");
+test_invalid_value("border-block-start-radius", "1em /");
+test_invalid_value("border-block-start-radius", "1px / 2px 3px 4px");
+test_invalid_value("border-block-start-radius", "1px / 2px / 3px");
+test_invalid_value("border-block-start-radius", "4");
+test_invalid_value("border-block-start-radius", "4 / 5");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-valid.html
new file mode 100644
index 0000000000..8c9f0e0bd1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-block-start-radius-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-block-start-radius' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-block-start-radius' supports the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("border-block-start-radius", "1px");
+test_valid_value("border-block-start-radius", "10%");
+test_valid_value("border-block-start-radius", "1px 5%");
+test_valid_value("border-block-start-radius", "5% 1px");
+test_valid_value("border-block-start-radius", "1px / 2px");
+test_valid_value("border-block-start-radius", "1px / 1px 2%");
+test_valid_value("border-block-start-radius", "1px 2% / 3%");
+test_valid_value("border-block-start-radius", "1px 2% / 3px 4px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-computed.html
new file mode 100644
index 0000000000..a83286a910
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-computed.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'border-bottom-radius'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert" content="This test checks that the computed value of 'border-bottom-radius' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("border-bottom-radius", "10px");
+test_computed_value("border-bottom-radius", "10px 10px", "10px");
+test_computed_value("border-bottom-radius", "5px 10px");
+test_computed_value("border-bottom-radius", "10px / 5px 10px");
+test_computed_value("border-bottom-radius", "5px 10px / 10px");
+test_computed_value("border-bottom-radius", "10px 10px / 5px 5px", "10px / 5px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-invalid.html
new file mode 100644
index 0000000000..bbf7555cdc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-bottom-radius' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-bottom-radius' supports only the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("border-bottom-radius", "auto");
+test_invalid_value("border-bottom-radius", "none");
+test_invalid_value("border-bottom-radius", "1px 2px 3px");
+test_invalid_value("border-bottom-radius", "-1px");
+test_invalid_value("border-bottom-radius", "1px -2px");
+test_invalid_value("border-bottom-radius", "1em /");
+test_invalid_value("border-bottom-radius", "1px / 2px 3px 4px");
+test_invalid_value("border-bottom-radius", "1px / 2px / 3px");
+test_invalid_value("border-bottom-radius", "4");
+test_invalid_value("border-bottom-radius", "4 / 5");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-valid.html
new file mode 100644
index 0000000000..fe3502beff
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-bottom-radius-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-bottom-radius' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-bottom-radius' supports the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("border-bottom-radius", "1px");
+test_valid_value("border-bottom-radius", "10%");
+test_valid_value("border-bottom-radius", "1px 5%");
+test_valid_value("border-bottom-radius", "5% 1px");
+test_valid_value("border-bottom-radius", "1px / 2px");
+test_valid_value("border-bottom-radius", "1px / 1px 2%");
+test_valid_value("border-bottom-radius", "1px 2% / 3%");
+test_valid_value("border-bottom-radius", "1px 2% / 3px 4px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-computed.html
new file mode 100644
index 0000000000..37f20490bd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-computed.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'border-clip'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#border-clip">
+<meta name="assert" content="This test checks that the computed value of 'border-clip' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("border-clip", "normal");
+test_computed_value("border-clip", "10px");
+test_computed_value("border-clip", "10%");
+test_computed_value("border-clip", "0");
+test_computed_value("border-clip", "1fr");
+test_computed_value("border-clip", "10px 10%");
+test_computed_value("border-clip", "10px 1em 10% 1fr 2fr", "10px 16px 10% 1fr 2fr");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-invalid.html
new file mode 100644
index 0000000000..8f6dff3f08
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-invalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-clip' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#border-clip">
+<meta name="assert"
+ content="This test checks that 'border-clip' supports only the keyword 'normal' or a list of &lt;length-percentage&gt; and &lt;flex&gt; values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("border-clip", "auto");
+test_invalid_value("border-clip", "none");
+test_invalid_value("border-clip", "padding-box");
+test_invalid_value("border-clip", "-10px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-valid.html
new file mode 100644
index 0000000000..819d800b42
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-clip-valid.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-clip' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#border-clip">
+<meta name="assert"
+ content="This test checks that 'border-clip' supports the 'normal' keyword, &lt;length-percentage&gt; and &lt;flex&gt; values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("border-clip", "normal");
+test_valid_value("border-clip", "10px");
+test_valid_value("border-clip", "10%");
+test_valid_value("border-clip", "0");
+test_valid_value("border-clip", "1fr");
+test_valid_value("border-clip", "10px 10%");
+test_valid_value("border-clip", "10px 1em 10% 1fr 2fr");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-computed.html
new file mode 100644
index 0000000000..58f78efa6d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-computed.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'border-inline-end-radius'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert" content="This test checks that the computed value of 'border-inline-end-radius' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("border-inline-end-radius", "10px");
+test_computed_value("border-inline-end-radius", "10px 10px", "10px");
+test_computed_value("border-inline-end-radius", "5px 10px");
+test_computed_value("border-inline-end-radius", "10px / 5px 10px");
+test_computed_value("border-inline-end-radius", "5px 10px / 10px");
+test_computed_value("border-inline-end-radius", "10px 10px / 5px 5px", "10px / 5px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-invalid.html
new file mode 100644
index 0000000000..3ee5ccde33
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-radius-inline-end' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-radius-inline-end' supports only the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("border-radius-inline-end", "auto");
+test_invalid_value("border-radius-inline-end", "none");
+test_invalid_value("border-radius-inline-end", "1px 2px 3px");
+test_invalid_value("border-radius-inline-end", "-1px");
+test_invalid_value("border-radius-inline-end", "1px -2px");
+test_invalid_value("border-radius-inline-end", "1em /");
+test_invalid_value("border-radius-inline-end", "1px / 2px 3px 4px");
+test_invalid_value("border-radius-inline-end", "1px / 2px / 3px");
+test_invalid_value("border-radius-inline-end", "4");
+test_invalid_value("border-radius-inline-end", "4 / 5");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-valid.html
new file mode 100644
index 0000000000..72c8ad8c28
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-end-radius-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-inline-end-radius' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-inline-end-radius' supports the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("border-inline-end-radius", "1px");
+test_valid_value("border-inline-end-radius", "10%");
+test_valid_value("border-inline-end-radius", "1px 5%");
+test_valid_value("border-inline-end-radius", "5% 1px");
+test_valid_value("border-inline-end-radius", "1px / 2px");
+test_valid_value("border-inline-end-radius", "1px / 1px 2%");
+test_valid_value("border-inline-end-radius", "1px 2% / 3%");
+test_valid_value("border-inline-end-radius", "1px 2% / 3px 4px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-computed.html
new file mode 100644
index 0000000000..f08c0b0bfd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-computed.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'border-inline-start-radius'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert" content="This test checks that the computed value of 'border-inline-start-radius' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("border-inline-start-radius", "10px");
+test_computed_value("border-inline-start-radius", "10px 10px", "10px");
+test_computed_value("border-inline-start-radius", "5px 10px");
+test_computed_value("border-inline-start-radius", "10px / 5px 10px");
+test_computed_value("border-inline-start-radius", "5px 10px / 10px");
+test_computed_value("border-inline-start-radius", "10px 10px / 5px 5px", "10px / 5px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-invalid.html
new file mode 100644
index 0000000000..eaf404cf02
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-inline-start-radius' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-inline-start-radius' supports only the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("border-inline-start-radius", "auto");
+test_invalid_value("border-inline-start-radius", "none");
+test_invalid_value("border-inline-start-radius", "1px 2px 3px");
+test_invalid_value("border-inline-start-radius", "-1px");
+test_invalid_value("border-inline-start-radius", "1px -2px");
+test_invalid_value("border-inline-start-radius", "1em /");
+test_invalid_value("border-inline-start-radius", "1px / 2px 3px 4px");
+test_invalid_value("border-inline-start-radius", "1px / 2px / 3px");
+test_invalid_value("border-inline-start-radius", "4");
+test_invalid_value("border-inline-start-radius", "4 / 5");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-valid.html
new file mode 100644
index 0000000000..1100664247
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-inline-start-radius-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-inline-start-radius' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-inline-start-radius' supports the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("border-inline-start-radius", "1px");
+test_valid_value("border-inline-start-radius", "10%");
+test_valid_value("border-inline-start-radius", "1px 5%");
+test_valid_value("border-inline-start-radius", "5% 1px");
+test_valid_value("border-inline-start-radius", "1px / 2px");
+test_valid_value("border-inline-start-radius", "1px / 1px 2%");
+test_valid_value("border-inline-start-radius", "1px 2% / 3%");
+test_valid_value("border-inline-start-radius", "1px 2% / 3px 4px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-computed.html
new file mode 100644
index 0000000000..2db2025575
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-computed.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'border-left-radius'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert" content="This test checks that the computed value of 'border-left-radius' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("border-left-radius", "10px");
+test_computed_value("border-left-radius", "10px 10px", "10px");
+test_computed_value("border-left-radius", "5px 10px");
+test_computed_value("border-left-radius", "10px / 5px 10px");
+test_computed_value("border-left-radius", "5px 10px / 10px");
+test_computed_value("border-left-radius", "10px 10px / 5px 5px", "10px / 5px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-invalid.html
new file mode 100644
index 0000000000..43002f7900
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-left-radius' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-left-radius' supports only the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("border-left-radius", "auto");
+test_invalid_value("border-left-radius", "none");
+test_invalid_value("border-left-radius", "1px 2px 3px");
+test_invalid_value("border-left-radius", "-1px");
+test_invalid_value("border-left-radius", "1px -2px");
+test_invalid_value("border-left-radius", "1em /");
+test_invalid_value("border-left-radius", "1px / 2px 3px 4px");
+test_invalid_value("border-left-radius", "1px / 2px / 3px");
+test_invalid_value("border-left-radius", "4");
+test_invalid_value("border-left-radius", "4 / 5");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-valid.html
new file mode 100644
index 0000000000..401eff5729
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-left-radius-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-left-radius' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-left-radius' supports the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("border-left-radius", "1px");
+test_valid_value("border-left-radius", "10%");
+test_valid_value("border-left-radius", "1px 5%");
+test_valid_value("border-left-radius", "5% 1px");
+test_valid_value("border-left-radius", "1px / 2px");
+test_valid_value("border-left-radius", "1px / 1px 2%");
+test_valid_value("border-left-radius", "1px 2% / 3%");
+test_valid_value("border-left-radius", "1px 2% / 3px 4px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-computed.html
new file mode 100644
index 0000000000..b058938afc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-computed.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'border-right-radius'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert" content="This test checks that the computed value of 'border-right-radius' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("border-right-radius", "10px");
+test_computed_value("border-right-radius", "10px 10px", "10px");
+test_computed_value("border-right-radius", "5px 10px");
+test_computed_value("border-right-radius", "10px / 5px 10px");
+test_computed_value("border-right-radius", "5px 10px / 10px");
+test_computed_value("border-right-radius", "10px 10px / 5px 5px", "10px / 5px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-invalid.html
new file mode 100644
index 0000000000..f89f098376
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-right-radius' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-right-radius' supports only the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("border-right-radius", "auto");
+test_invalid_value("border-right-radius", "none");
+test_invalid_value("border-right-radius", "1px 2px 3px");
+test_invalid_value("border-right-radius", "-1px");
+test_invalid_value("border-right-radius", "1px -2px");
+test_invalid_value("border-right-radius", "1em /");
+test_invalid_value("border-right-radius", "1px / 2px 3px 4px");
+test_invalid_value("border-right-radius", "1px / 2px / 3px");
+test_invalid_value("border-right-radius", "4");
+test_invalid_value("border-right-radius", "4 / 5");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-valid.html
new file mode 100644
index 0000000000..dc2f598717
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-right-radius-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-right-radius' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-right-radius' supports the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("border-right-radius", "1px");
+test_valid_value("border-right-radius", "10%");
+test_valid_value("border-right-radius", "1px 5%");
+test_valid_value("border-right-radius", "5% 1px");
+test_valid_value("border-right-radius", "1px / 2px");
+test_valid_value("border-right-radius", "1px / 1px 2%");
+test_valid_value("border-right-radius", "1px 2% / 3%");
+test_valid_value("border-right-radius", "1px 2% / 3px 4px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-computed.html
new file mode 100644
index 0000000000..e0dcc8ae4e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-computed.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'border-top-radius'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert" content="This test checks that the computed value of 'border-top-radius' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("border-top-radius", "10px");
+test_computed_value("border-top-radius", "10px 10px", "10px");
+test_computed_value("border-top-radius", "5px 10px");
+test_computed_value("border-top-radius", "10px / 5px 10px");
+test_computed_value("border-top-radius", "5px 10px / 10px");
+test_computed_value("border-top-radius", "10px 10px / 5px 5px", "10px / 5px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-invalid.html
new file mode 100644
index 0000000000..67b0fc8087
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-top-radius' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-top-radius' supports only the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("border-top-radius", "auto");
+test_invalid_value("border-top-radius", "none");
+test_invalid_value("border-top-radius", "1px 2px 3px");
+test_invalid_value("border-top-radius", "-1px");
+test_invalid_value("border-top-radius", "1px -2px");
+test_invalid_value("border-top-radius", "1em /");
+test_invalid_value("border-top-radius", "1px / 2px 3px 4px");
+test_invalid_value("border-top-radius", "1px / 2px / 3px");
+test_invalid_value("border-top-radius", "4");
+test_invalid_value("border-top-radius", "4 / 5");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-valid.html
new file mode 100644
index 0000000000..8dbb9a4bb9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/border-top-radius-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'border-top-radius' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-sizing">
+<meta name="assert"
+ content="This test checks that 'border-top-radius' supports the syntax <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("border-top-radius", "1px");
+test_valid_value("border-top-radius", "10%");
+test_valid_value("border-top-radius", "1px 5%");
+test_valid_value("border-top-radius", "5% 1px");
+test_valid_value("border-top-radius", "1px / 2px");
+test_valid_value("border-top-radius", "1px / 1px 2%");
+test_valid_value("border-top-radius", "1px 2% / 3%");
+test_valid_value("border-top-radius", "1px 2% / 3px 4px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-computed.html
new file mode 100644
index 0000000000..1c61f9a8e5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-computed.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'box-shadow-blur'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-blur">
+<meta name="assert" content="This test checks that the computed value of 'box-shadow-blur' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("box-shadow-blur", "0", "0px");
+test_computed_value("box-shadow-blur", "1px");
+test_computed_value("box-shadow-blur", "1em", "16px");
+test_computed_value("box-shadow-blur", "1px, 2px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-invalid.html
new file mode 100644
index 0000000000..20b2a50446
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-invalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-blur' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-blur">
+<meta name="assert" content="This test checks that 'box-shadow-blur' supports only properly defined length values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("box-shadow-blur", "auto");
+test_invalid_value("box-shadow-blur", "none");
+test_invalid_value("box-shadow-blur", "1");
+test_invalid_value("box-shadow-blur", "1px 2px");
+test_invalid_value("box-shadow-blur", "-1px");
+test_invalid_value("box-shadow-blur", "1%");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-valid.html
new file mode 100644
index 0000000000..10d65ebbf0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-blur-valid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-blur' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-blur">
+<meta name="assert" content="This test checks that 'box-shadow-blur' supports length values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("box-shadow-blur", "0");
+test_valid_value("box-shadow-blur", "1px");
+test_valid_value("box-shadow-blur", "1em");
+test_valid_value("box-shadow-blur", "calc(1em + 2px)");
+test_valid_value("box-shadow-blur", "1px, 2px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-computed.html
new file mode 100644
index 0000000000..53f0daffb7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-computed.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'box-shadow-color'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-color">
+<meta name="assert" content="This test checks that the computed value of 'box-shadow-color' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("box-shadow-color", "currentcolor", "rgb(0, 0, 0)");
+test_computed_value("box-shadow-color", "transparent", "rgba(0, 0, 0, 0)");
+test_computed_value("box-shadow-color", "red", "rgb(255, 0, 0)");
+test_computed_value("box-shadow-color", "magenta", "rgb(255, 0, 255)");
+test_computed_value("box-shadow-color", "#234", "rgb(34, 51, 68)");
+test_computed_value("box-shadow-color", "#FEDCBA", "rgb(254, 220, 186)");
+test_computed_value("box-shadow-color", "rgb(2, 3, 4)");
+test_computed_value("box-shadow-color", "rgb(100%, 0%, 0%)", "rgb(255, 0, 0)");
+test_computed_value("box-shadow-color", "rgba(2, 3, 4, 0.5)");
+test_computed_value("box-shadow-color", "rgba(2, 3, 4, 50%)", "rgba(2, 3, 4, 0.5)");
+test_computed_value("box-shadow-color", "hsl(120, 100%, 50%)", "rgb(0, 255, 0)");
+test_computed_value("box-shadow-color", "hsla(120, 100%, 50%, 0.25)", "rgba(0, 255, 0, 0.25)");
+test_computed_value("box-shadow-color", "rgb(-2, 3, 4)", "rgb(0, 3, 4)");
+test_computed_value("box-shadow-color", "rgb(100, 200, 300)", "rgb(100, 200, 255)");
+test_computed_value("box-shadow-color", "rgb(20, 10, 0, -10)", "rgba(20, 10, 0, 0)");
+test_computed_value("box-shadow-color", "rgb(100%, 200%, 300%)", "rgb(255, 255, 255)");
+test_computed_value("box-shadow-color", "red, blue", "rgb(255, 0, 0), rgb(0, 0, 255)");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-invalid.html
new file mode 100644
index 0000000000..7d92386de2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-invalid.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-color' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-color">
+<meta name="assert" content="This test checks that 'box-shadow-color' supports only properly defined color values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("box-shadow-color", "auto");
+test_invalid_value("box-shadow-color", "123");
+test_invalid_value("box-shadow-color", "#12");
+test_invalid_value("box-shadow-color", "#123456789");
+test_invalid_value("box-shadow-color", "rgb");
+test_invalid_value("box-shadow-color", "rgb(1)");
+test_invalid_value("box-shadow-color", "rgb(1,2,3,4,5)");
+test_invalid_value("box-shadow-color", "hsla(1,2,3,4,5)");
+test_invalid_value("box-shadow-color", "rgb(10%, 20, 30%)");
+test_invalid_value("box-shadow-color", "rgba(-2, 300, 400%, -0.5)");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-valid.html
new file mode 100644
index 0000000000..c278a7d1cc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-color-valid.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-color' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-color">
+<meta name="assert" content="This test checks that 'box-shadow-color' supports color values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("box-shadow-color", "currentcolor");
+test_valid_value("box-shadow-color", "transparent");
+test_valid_value("box-shadow-color", "red");
+test_valid_value("box-shadow-color", "magenta");
+test_valid_value("box-shadow-color", "#234", "rgb(34, 51, 68)");
+test_valid_value("box-shadow-color", "#FEDCBA", "rgb(254, 220, 186)");
+test_valid_value("box-shadow-color", "rgb(2, 3, 4)");
+test_valid_value("box-shadow-color", "rgb(100%, 0%, 0%)", "rgb(255, 0, 0)");
+test_valid_value("box-shadow-color", "rgba(2, 3, 4, 0.5)");
+test_valid_value("box-shadow-color", "rgba(2, 3, 4, 50%)", "rgba(2, 3, 4, 0.5)");
+test_valid_value("box-shadow-color", "hsl(120, 100%, 50%)", "rgb(0, 255, 0)");
+test_valid_value("box-shadow-color", "hsla(120, 100%, 50%, 0.25)", "rgba(0, 255, 0, 0.25)");
+test_valid_value("box-shadow-color", "rgb(-2, 3, 4)", "rgb(0, 3, 4)");
+test_valid_value("box-shadow-color", "rgb(100, 200, 300)", "rgb(100, 200, 255)");
+test_valid_value("box-shadow-color", "rgb(20, 10, 0, -10)", "rgba(20, 10, 0, 0)");
+test_valid_value("box-shadow-color", "rgb(100%, 200%, 300%)", "rgb(255, 255, 255)");
+test_valid_value("box-shadow-color", "red, blue", "rgb(255, 0, 0), rgb(0, 0, 255)");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-computed.html
new file mode 100644
index 0000000000..8ed7d7bc9e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-computed.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'box-shadow-offset'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-offset">
+<meta name="assert" content="This test checks that the computed value of 'box-shadow-offset' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("box-shadow-offset", "0 0", "0px");
+test_computed_value("box-shadow-offset", "10px 0");
+test_computed_value("box-shadow-offset", "0 10px");
+test_computed_value("box-shadow-offset", "10px 10px", "10px");
+test_computed_value("box-shadow-offset", "10px 20px, 30px 40px");
+test_computed_value("box-shadow-offset", "calc(1em + 1px) calc(-1em + 1px)", "17px -15px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-invalid.html
new file mode 100644
index 0000000000..dd1c0f3374
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-invalid.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-offset' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-offset">
+<meta name="assert" content="This test checks that 'box-shadow-offset' supports only properly defined offset values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("box-shadow-offset", "auto");
+test_invalid_value("box-shadow-offset", "1 2");
+test_invalid_value("box-shadow-offset", "1% 2%");
+test_invalid_value("box-shadow-offset", "1px 2px 3px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-valid.html
new file mode 100644
index 0000000000..bfbe21f089
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-offset-valid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-offset' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-offset">
+<meta name="assert" content="This test checks that 'box-shadow-offset' supports offset values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("box-shadow-offset", "0");
+test_valid_value("box-shadow-offset", "0 0");
+test_valid_value("box-shadow-offset", "1px 2px");
+test_valid_value("box-shadow-offset", "1em 2em");
+test_valid_value("box-shadow-offset", "-1px -2px");
+test_valid_value("box-shadow-offset", "calc(1em + 2px) calc(3rem + 4vw)");
+test_valid_value("box-shadow-offset", "1px 2px, 3px 4px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-computed.html
new file mode 100644
index 0000000000..9818199b58
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-computed.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'box-shadow-position'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-position">
+<meta name="assert" content="This test checks that the computed value of 'box-shadow-position' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("box-shadow-position", "inset");
+test_computed_value("box-shadow-position", "outset");
+test_computed_value("box-shadow-position", "inset, outset");
+test_computed_value("box-shadow-position", "outset, inset");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-invalid.html
new file mode 100644
index 0000000000..9738dd6107
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-invalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-position' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-position">
+<meta name="assert" content="This test checks that 'box-shadow-position' supports only valid keywords.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("box-shadow-position", "auto");
+test_invalid_value("box-shadow-position", "1 2");
+test_invalid_value("box-shadow-position", "1px");
+test_invalid_value("box-shadow-position", "1px 2px");
+test_invalid_value("box-shadow-position", "1%");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-valid.html
new file mode 100644
index 0000000000..0d9b56fb01
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-position-valid.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-position' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-position">
+<meta name="assert" content="This test checks that 'box-shadow-position' supports positional keywords.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("box-shadow-position", "inset");
+test_valid_value("box-shadow-position", "outset");
+test_valid_value("box-shadow-position", "inset, outset");
+test_valid_value("box-shadow-position", "outset, inset");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-computed.html
new file mode 100644
index 0000000000..e7f39d5565
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-computed.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'box-shadow-spread'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-spread">
+<meta name="assert" content="This test checks that the computed value of 'box-shadow-spread' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("box-shadow-spread", "0", "0px");
+test_computed_value("box-shadow-spread", "1px");
+test_computed_value("box-shadow-spread", "1em", "16px");
+test_computed_value("box-shadow-spread", "-1px");
+test_computed_value("box-shadow-spread", "calc(1em + 1px)", "17px");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-invalid.html
new file mode 100644
index 0000000000..205fd924b9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-invalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-spread' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-spread">
+<meta name="assert" content="This test checks that 'box-shadow-spread' supports only properly defined length values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("box-shadow-spread", "auto");
+test_invalid_value("box-shadow-spread", "none");
+test_invalid_value("box-shadow-spread", "1");
+test_invalid_value("box-shadow-spread", "1px 2px");
+test_invalid_value("box-shadow-spread", "1%");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-valid.html
new file mode 100644
index 0000000000..a368d13694
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/box-shadow-spread-valid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'box-shadow-spread' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#box-shadow-spread">
+<meta name="assert" content="This test checks that 'box-shadow-spread' supports length values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("box-shadow-spread", "0");
+test_valid_value("box-shadow-spread", "1px");
+test_valid_value("box-shadow-spread", "1em");
+test_valid_value("box-shadow-spread", "-1px");
+test_valid_value("box-shadow-spread", "calc(1em + 2px)");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-computed.html
new file mode 100644
index 0000000000..c238ddfb96
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-computed.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'corner-shape'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-shaping">
+<meta name="assert" content="This test checks that the computed value of 'corner-shape' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("corner-shape", "round");
+test_computed_value("corner-shape", "angle");
+test_computed_value("corner-shape", "round angle");
+test_computed_value("corner-shape", "round angle round");
+test_computed_value("corner-shape", "round angle round angle");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-invalid.html
new file mode 100644
index 0000000000..51f8e05700
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-invalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'corner-shape' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-shaping">
+<meta name="assert" content="This test checks that 'corner-shape' supports only up to four times the keywords 'round' and 'angle'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("corner-shape", "auto");
+test_invalid_value("corner-shape", "none");
+test_invalid_value("corner-shape", "scoop");
+test_invalid_value("corner-shape", "10px");
+test_invalid_value("corner-shape", "10%");
+test_invalid_value("corner-shape", "round round round round round");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-valid.html
new file mode 100644
index 0000000000..62ee2630ac
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/corner-shape-valid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'corner-shape' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-shaping">
+<meta name="assert" content="This test checks that 'corner-shape' supports the values 'round' and 'angle'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("corner-shape", "round");
+test_valid_value("corner-shape", "angle");
+test_valid_value("corner-shape", "angle round");
+test_valid_value("corner-shape", "round angle");
+test_valid_value("corner-shape", "angle round angle");
+test_valid_value("corner-shape", "angle round angle round");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/corners-computed.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/corners-computed.html
new file mode 100644
index 0000000000..6605f9eeb0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/corners-computed.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Computed values of 'corners'</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corners-shorthand">
+<meta name="assert" content="This test checks that the computed value of 'corners' is correct.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+
+<div id="target"></div>
+
+<script>
+test_computed_value("corners", "round");
+test_computed_value("corners", "angle");
+test_computed_value("corners", "round angle");
+test_computed_value("corners", "round angle round");
+test_computed_value("corners", "round angle round angle");
+test_computed_value("corners", "4px");
+test_computed_value("corners", "2%");
+test_computed_value("corners", "4px 2%");
+test_computed_value("corners", "4px 2% 1em", "4px 2% 16px");
+test_computed_value("corners", "4px 2% 1em 4%", "4px 2% 16px 4%");
+test_computed_value("corners", "4px / 2px");
+test_computed_value("corners", "2% / 2px");
+test_computed_value("corners", "4px 2% / 2px");
+test_computed_value("corners", "4px 2% 1em / 2px", "4px 2% 16px / 2px");
+test_computed_value("corners", "4px 2% 1em 4% / 2px", "4px 2% 16px 4% / 2px");
+test_computed_value("corners", "4px / 2px 4%");
+test_computed_value("corners", "4px / 2px 4% 1em", "4px / 2px 4% 16px");
+test_computed_value("corners", "4px / 2px 4% 1em 2%", "4px / 2px 4% 16px 2%");
+test_computed_value("corners", "4px 2% / 2px 4%");
+test_computed_value("corners", "4px 2% 1em / 2px 4% 1em", "4px 2% 16px / 2px 4% 16px");
+test_computed_value("corners", "4px 2% 1em 4% / 2px 4% 1em 2%", "4px 2% 16px 4% / 2px 4% 16px 2%");
+test_computed_value("corners", "4px round");
+test_computed_value("corners", "4px angle");
+test_computed_value("corners", "4px round angle");
+test_computed_value("corners", "4px round angle round");
+test_computed_value("corners", "4px round angle round angle");
+test_computed_value("corners", "4px 2% round");
+test_computed_value("corners", "4px 2% / 2px round");
+test_computed_value("corners", "4px / 2px 4% round");
+test_computed_value("corners", "4px / 2px 4% round angle");
+test_computed_value("corners", "round 4px");
+test_computed_value("corners", "round 4px 2%");
+test_computed_value("corners", "round 4px 2% / 2px");
+test_computed_value("corners", "round 4px / 2px 4%");
+test_computed_value("corners", "round angle 4px / 2px 4%");
+test_computed_value("corners", "round angle round angle 4px 2% 1em 4% / 2px 4% 1em 2%", "round angle round angle 4px 2% 16px 4% / 2px 4% 16px 2%");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/corners-invalid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/corners-invalid.html
new file mode 100644
index 0000000000..1a762a7572
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/corners-invalid.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'corners' with invalid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-shaping">
+<meta name="assert" content="This test checks that 'corners' supports only a combination of 'border-radius' and 'corner-shape' values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_invalid_value("corners", "auto");
+test_invalid_value("corners", "none");
+test_invalid_value("corners", "scoop");
+test_invalid_value("corners", "round round round round round");
+test_invalid_value("corners", "-1px");
+test_invalid_value("corners", "4px 2% 1em 4% 2px");
+test_invalid_value("corners", "4px / 2px 4% 1em 2% 2px");
+test_invalid_value("corners", "4px / angle");
+test_invalid_value("corners", "angle / 4px");
+test_invalid_value("corners", "4px angle 2% round");
+test_invalid_value("corners", "round 4px angle 2%");
+test_invalid_value("corners", "4px / 2% angle 1em");
+test_invalid_value("corners", "round 4px / 2% angle");
+</script>
diff --git a/testing/web-platform/tests/css/css-borders/tentative/parsing/corners-valid.html b/testing/web-platform/tests/css/css-borders/tentative/parsing/corners-valid.html
new file mode 100644
index 0000000000..5b1ae7afb3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-borders/tentative/parsing/corners-valid.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Borders and Box Decorations 4 Test: Parsing 'corners' with valid values</title>
+<link rel="author" title="Sebastian Zartner" href="mailto:sebastianzartner@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-borders-4/#corner-shaping">
+<meta name="assert" content="This test checks that 'corners' supports a combination of 'border-radius' and 'corner-shape' values.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+
+<script>
+test_valid_value("corners", "round");
+test_valid_value("corners", "angle");
+test_valid_value("corners", "round angle");
+test_valid_value("corners", "round angle round");
+test_valid_value("corners", "round angle round angle");
+test_valid_value("corners", "4px");
+test_valid_value("corners", "2%");
+test_valid_value("corners", "4px 2%");
+test_valid_value("corners", "4px 2% 1em");
+test_valid_value("corners", "4px 2% 1em 4%");
+test_valid_value("corners", "4px / 2px");
+test_valid_value("corners", "2% / 2px");
+test_valid_value("corners", "4px 2% / 2px");
+test_valid_value("corners", "4px 2% 1em / 2px");
+test_valid_value("corners", "4px 2% 1em 4% / 2px");
+test_valid_value("corners", "4px / 2px 4%");
+test_valid_value("corners", "4px / 2px 4% 1em");
+test_valid_value("corners", "4px / 2px 4% 1em 2%");
+test_valid_value("corners", "4px 2% / 2px 4%");
+test_valid_value("corners", "4px 2% 1em / 2px 4% 1em");
+test_valid_value("corners", "4px 2% 1em 4% / 2px 4% 1em 2%");
+test_valid_value("corners", "4px round");
+test_valid_value("corners", "4px angle");
+test_valid_value("corners", "4px round angle");
+test_valid_value("corners", "4px round angle round");
+test_valid_value("corners", "4px round angle round angle");
+test_valid_value("corners", "4px 2% round");
+test_valid_value("corners", "4px 2% / 2px round");
+test_valid_value("corners", "4px / 2px 4% round");
+test_valid_value("corners", "4px / 2px 4% round angle");
+test_valid_value("corners", "round 4px");
+test_valid_value("corners", "round 4px 2%");
+test_valid_value("corners", "round 4px 2% / 2px");
+test_valid_value("corners", "round 4px / 2px 4%");
+test_valid_value("corners", "round angle 4px / 2px 4%");
+test_valid_value("corners", "round angle round angle 4px 2% 1em 4% / 2px 4% 1em 2%");
+</script>