LibWeb: Add the border-block-* shorthand properties

This commit is contained in:
Tim Ledbetter 2025-06-30 11:59:02 +01:00 committed by Andreas Kling
commit 90da2f5418
Notes: github-actions[bot] 2025-06-30 12:53:32 +00:00
11 changed files with 240 additions and 14 deletions

View file

@ -497,6 +497,14 @@
"border-color"
]
},
"border-block-color": {
"inherited": false,
"initial": "currentcolor",
"longhands": [
"border-block-start-color",
"border-block-end-color"
]
},
"border-block-end": {
"inherited": false,
"initial": "medium currentcolor none",
@ -569,6 +577,22 @@
],
"max-values": 1
},
"border-block-style": {
"inherited": false,
"initial": "none",
"longhands": [
"border-block-start-style",
"border-block-end-style"
]
},
"border-block-width": {
"inherited": false,
"initial": "medium",
"longhands": [
"border-block-start-width",
"border-block-end-width"
]
},
"border-bottom": {
"inherited": false,
"initial": "medium currentcolor none",

View file

@ -201,6 +201,8 @@ All supported properties and their default values exposed from CSSStylePropertie
'blockSize': '0px'
'block-size': '0px'
'border': '0px rgb(0, 0, 0)'
'borderBlockColor': 'rgb(0, 0, 0)'
'border-block-color': 'rgb(0, 0, 0)'
'borderBlockEnd': '0px rgb(0, 0, 0)'
'border-block-end': '0px rgb(0, 0, 0)'
'borderBlockEndColor': 'rgb(0, 0, 0)'
@ -217,6 +219,10 @@ All supported properties and their default values exposed from CSSStylePropertie
'border-block-start-style': 'none'
'borderBlockStartWidth': '0px'
'border-block-start-width': '0px'
'borderBlockStyle': 'none'
'border-block-style': 'none'
'borderBlockWidth': '0px'
'border-block-width': '0px'
'borderBottom': '0px rgb(0, 0, 0)'
'border-bottom': '0px rgb(0, 0, 0)'
'borderBottomColor': 'rgb(0, 0, 0)'

View file

@ -0,0 +1,50 @@
Harness status: OK
Found 44 tests
33 Pass
11 Fail
Pass Test that logical border-*-color properties are supported.
Fail Test that border-inline-color shorthand sets longhands and serializes correctly.
Pass Test that border-block-color shorthand sets longhands and serializes correctly.
Pass Test that border-color shorthand sets longhands and serializes correctly.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: ltr; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: ltr; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: rtl; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: rtl; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: rtl; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: rtl; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: rtl; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: rtl; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: ltr; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: ltr; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: ltr; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: ltr; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: rtl; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: rtl; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: ltr; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: ltr; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: ltr; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: ltr; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '.
Pass Test that logical border-*-color properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: rtl; '.
Fail Test that border-*-color shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: rtl; '.
Pass Test that border-*-color properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '.
Pass Test that border-*-color properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '.

View file

@ -0,0 +1,50 @@
Harness status: OK
Found 44 tests
33 Pass
11 Fail
Pass Test that logical border-*-style properties are supported.
Fail Test that border-inline-style shorthand sets longhands and serializes correctly.
Pass Test that border-block-style shorthand sets longhands and serializes correctly.
Pass Test that border-style shorthand sets longhands and serializes correctly.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: ltr; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: ltr; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: rtl; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: rtl; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: rtl; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: rtl; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: rtl; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: rtl; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: ltr; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: ltr; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: ltr; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: ltr; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: rtl; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: rtl; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: ltr; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: ltr; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: ltr; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: ltr; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '.
Pass Test that logical border-*-style properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: rtl; '.
Fail Test that border-*-style shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: rtl; '.
Pass Test that border-*-style properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '.
Pass Test that border-*-style properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '.

View file

@ -0,0 +1,50 @@
Harness status: OK
Found 44 tests
33 Pass
11 Fail
Pass Test that logical border-*-width properties are supported.
Fail Test that border-inline-width shorthand sets longhands and serializes correctly.
Pass Test that border-block-width shorthand sets longhands and serializes correctly.
Pass Test that border-width shorthand sets longhands and serializes correctly.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: ltr; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: ltr; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: rtl; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: rtl; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: rtl; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: rtl; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: rtl; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: rtl; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: ltr; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: ltr; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: ltr; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: ltr; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: rtl; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: rtl; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: ltr; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: ltr; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: ltr; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: ltr; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '.
Pass Test that logical border-*-width properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: rtl; '.
Fail Test that border-*-width shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: rtl; '.
Pass Test that border-*-width properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '.
Pass Test that border-*-width properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '.

View file

@ -2,12 +2,11 @@ Harness status: OK
Found 7 tests
4 Pass
3 Fail
7 Pass
Pass e.style['border-block-start-color'] = "currentcolor" should set the property value
Pass e.style['border-block-start-color'] = "rgb(2, 3, 4)" should set the property value
Pass e.style['border-block-end-color'] = "#234" should set the property value
Pass e.style['border-block-end-color'] = "transparent" should set the property value
Fail e.style['border-block-color'] = "#234" should set the property value
Fail e.style['border-block-color'] = "transparent rgb(2, 3, 4)" should set the property value
Fail e.style['border-block-color'] = "rgb(2, 3, 4) rgb(2, 3, 4)" should set the property value
Pass e.style['border-block-color'] = "#234" should set the property value
Pass e.style['border-block-color'] = "transparent rgb(2, 3, 4)" should set the property value
Pass e.style['border-block-color'] = "rgb(2, 3, 4) rgb(2, 3, 4)" should set the property value

View file

@ -2,8 +2,7 @@ Harness status: OK
Found 13 tests
10 Pass
3 Fail
13 Pass
Pass e.style['border-block-start-style'] = "dotted" should set the property value
Pass e.style['border-block-start-style'] = "groove" should set the property value
Pass e.style['border-block-start-style'] = "inset" should set the property value
@ -14,6 +13,6 @@ Pass e.style['border-block-end-style'] = "double" should set the property value
Pass e.style['border-block-end-style'] = "hidden" should set the property value
Pass e.style['border-block-end-style'] = "outset" should set the property value
Pass e.style['border-block-end-style'] = "ridge" should set the property value
Fail e.style['border-block-style'] = "dotted" should set the property value
Fail e.style['border-block-style'] = "double groove" should set the property value
Fail e.style['border-block-style'] = "hidden hidden" should set the property value
Pass e.style['border-block-style'] = "dotted" should set the property value
Pass e.style['border-block-style'] = "double groove" should set the property value
Pass e.style['border-block-style'] = "hidden hidden" should set the property value

View file

@ -2,8 +2,8 @@ Harness status: OK
Found 10 tests
7 Pass
3 Fail
9 Pass
1 Fail
Pass e.style['border-block-start-width'] = "10px" should set the property value
Pass e.style['border-block-start-width'] = "calc(10px + 0.5em)" should set the property value
Pass e.style['border-block-start-width'] = "thick" should set the property value
@ -11,6 +11,6 @@ Pass e.style['border-block-start-width'] = "thin" should set the property value
Pass e.style['border-block-end-width'] = "0" should set the property value
Pass e.style['border-block-end-width'] = "calc(10px - 0.5em)" should set the property value
Pass e.style['border-block-end-width'] = "medium" should set the property value
Fail e.style['border-block-width'] = "10px" should set the property value
Pass e.style['border-block-width'] = "10px" should set the property value
Fail e.style['border-block-width'] = "medium calc(10px + 0.5em)" should set the property value
Fail e.style['border-block-width'] = "10px 10px" should set the property value
Pass e.style['border-block-width'] = "10px 10px" should set the property value

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Border Colors</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#border-color">
<meta name="assert" content="This test checks the interaction of the flow-relative border-*-color properties with the physical ones in different writing modes." />
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div id="log"></div>
<script type="module">
import {runTests, createBoxPropertyGroup} from "./resources/test-box-properties.js";
runTests(createBoxPropertyGroup("border-*-color", {type: "color"}));
</script>

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Border Styles</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#border-style">
<meta name="assert" content="This test checks the interaction of the flow-relative border-*-style properties with the physical ones in different writing modes." />
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div id="log"></div>
<script type="module">
import {runTests, createBoxPropertyGroup} from "./resources/test-box-properties.js";
runTests(createBoxPropertyGroup("border-*-style", {type: "border-style"}));
</script>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<title>CSS Logical Properties: Flow-Relative Border Widths</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="help" href="https://drafts.csswg.org/css-logical/#border-width">
<meta name="assert" content="This test checks the interaction of the flow-relative border-*-width properties with the physical ones in different writing modes." />
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div id="log"></div>
<script type="module">
import {runTests, createBoxPropertyGroup} from "./resources/test-box-properties.js";
runTests(createBoxPropertyGroup("border-*-width", {
type: "length",
prerequisites: {"border-*-style": "solid"},
}));
</script>