LibWeb: Tests for rendering lists and their ordinals

The following tests also expose bugs before this PR:
- Layout/input/ol-render-item-values.html: negative ordinal values
- Layout/input/ol-render-deep-hybrid-list-item-list.html: ordinals
  deep into the list owner subtree
This commit is contained in:
Manuel Zahariev 2025-05-10 11:55:42 -07:00 committed by Sam Atkins
commit 20546725be
Notes: github-actions[bot] 2025-06-16 11:46:20 +00:00
18 changed files with 761 additions and 0 deletions

View file

@ -0,0 +1,35 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x52 [BFC] children: not-inline
BlockContainer <body> at (8,8) content-size 784x36 children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
TextNode <#text>
TextNode <#text>
TextNode <#text>
ListItemBox <li> at (8,8) content-size 784x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [8,8 29.8125x18] baseline: 13.796875
"One"
ListItemMarkerBox <(anonymous)> at (-14.6875,8.5) content-size 10.6875x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,26) content-size 784x0 children: inline
TextNode <#text>
ListItemBox <li> at (8,26) content-size 784x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [8,26 33.875x18] baseline: 13.796875
"Two"
ListItemMarkerBox <(anonymous)> at (-17.15625,26.5) content-size 13.15625x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,44) content-size 784x0 children: inline
TextNode <#text>
TextNode <#text>
ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x52]
PaintableWithLines (BlockContainer<BODY>) [8,8 784x36]
PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
PaintableWithLines (ListItemBox<LI>) [8,8 784x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [-14.6875,8.5 10.6875x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [8,26 784x0]
PaintableWithLines (ListItemBox<LI>) [8,26 784x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [-17.15625,26.5 13.15625x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [8,44 784x0]

View file

@ -0,0 +1,40 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x52 [BFC] children: not-inline
BlockContainer <body> at (8,8) content-size 784x36 children: not-inline
BlockContainer <div#list-item-owner> at (8,8) content-size 784x36 children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
TextNode <#text>
TextNode <#text>
TextNode <#text>
ListItemBox <li> at (8,8) content-size 784x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [8,8 29.8125x18] baseline: 13.796875
"One"
ListItemMarkerBox <(anonymous)> at (-14.6875,8.5) content-size 10.6875x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,26) content-size 784x0 children: inline
TextNode <#text>
ListItemBox <li> at (8,26) content-size 784x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [8,26 33.875x18] baseline: 13.796875
"Two"
ListItemMarkerBox <(anonymous)> at (-17.15625,26.5) content-size 13.15625x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,44) content-size 784x0 children: inline
TextNode <#text>
TextNode <#text>
BlockContainer <(anonymous)> at (8,44) content-size 784x0 children: inline
TextNode <#text>
ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x52]
PaintableWithLines (BlockContainer<BODY>) [8,8 784x36]
PaintableWithLines (BlockContainer<DIV>#list-item-owner) [8,8 784x36]
PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
PaintableWithLines (ListItemBox<LI>) [8,8 784x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [-14.6875,8.5 10.6875x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [8,26 784x0]
PaintableWithLines (ListItemBox<LI>) [8,26 784x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [-17.15625,26.5 13.15625x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [8,44 784x0]
PaintableWithLines (BlockContainer(anonymous)) [8,44 784x0]

View file

@ -0,0 +1,26 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x52 [BFC] children: not-inline
BlockContainer <body> at (8,8) content-size 784x36 children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 784x0 children: inline
TextNode <#text>
ListItemBox <li> at (8,8) content-size 784x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [8,8 29.8125x18] baseline: 13.796875
"One"
ListItemMarkerBox <(anonymous)> at (-16,8.5) content-size 12x17 children: not-inline
TextNode <#text>
ListItemBox <li> at (8,26) content-size 784x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [8,26 33.875x18] baseline: 13.796875
"Two"
ListItemMarkerBox <(anonymous)> at (-16,26.5) content-size 12x17 children: not-inline
TextNode <#text>
ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x52]
PaintableWithLines (BlockContainer<BODY>) [8,8 784x36]
PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
PaintableWithLines (ListItemBox<LI>) [8,8 784x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [-16,8.5 12x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (ListItemBox<LI>) [8,26 784x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [-16,26.5 12x17]
TextPaintable (TextNode<#text>)

View file

@ -0,0 +1,187 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x400 [BFC] children: not-inline
BlockContainer <body> at (8,16) content-size 784x368 children: not-inline
BlockContainer <ol> at (48,16) content-size 744x368 children: not-inline
BlockContainer <(anonymous)> at (48,16) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,16) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [48,16 29.8125x18] baseline: 13.796875
"One"
ListItemMarkerBox <(anonymous)> at (25.3125,16.5) content-size 10.6875x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,34) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,34) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 10, rect: [48,34 90.796875x18] baseline: 13.796875
"Twenty-two"
ListItemMarkerBox <(anonymous)> at (14.03125,34.5) content-size 21.96875x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,52) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <div> at (48,52) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 12, rect: [48,52 100.609375x18] baseline: 13.796875
"Ignore these"
TextNode <#text>
BlockContainer <(anonymous)> at (48,70) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <div> at (48,70) content-size 744x72 children: not-inline
BlockContainer <(anonymous)> at (48,70) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 2, rect: [48,70 24.890625x18] baseline: 13.796875
"+A"
TextNode <#text>
BlockContainer <div> at (48,88) content-size 744x54 children: not-inline
BlockContainer <(anonymous)> at (48,88) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 2, rect: [48,88 19.96875x18] baseline: 13.796875
"+B"
TextNode <#text>
BlockContainer <div> at (48,106) content-size 744x36 children: not-inline
BlockContainer <(anonymous)> at (48,106) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 2, rect: [48,106 20.9375x18] baseline: 13.796875
"+C"
TextNode <#text>
ListItemBox <div> at (48,124) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 12, rect: [48,124 104.78125x18] baseline: 13.796875
"Twenty-three"
ListItemMarkerBox <(anonymous)> at (13.75,124.5) content-size 22.25x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,142) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,142) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <p> at (48,158) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 21, rect: [48,158 177.125x18] baseline: 13.796875
"Ignore this paragraph"
TextNode <#text>
BlockContainer <(anonymous)> at (48,192) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <p> at (48,192) content-size 744x18 children: inline
InlineNode <span>
frag 0 from TextNode start: 0, length: 1, rect: [48,192 11.5625x18] baseline: 13.796875
"X"
TextNode <#text>
InlineNode <span>
frag 0 from TextNode start: 0, length: 1, rect: [59.5625,192 11.09375x18] baseline: 13.796875
"Y"
TextNode <#text>
InlineNode <span>
frag 0 from TextNode start: 0, length: 1, rect: [70.65625,192 12.609375x18] baseline: 13.796875
"Z"
TextNode <#text>
ListItemBox <li> at (48,226) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 11, rect: [48,226 97.75x18] baseline: 13.796875
"Twenty-four"
ListItemMarkerBox <(anonymous)> at (15.09375,226.5) content-size 20.90625x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,244) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <div> at (48,244) content-size 744x70 children: not-inline
BlockContainer <(anonymous)> at (48,244) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 38, rect: [48,244 311.09375x18] baseline: 13.796875
"List item paragraph inside nested divs"
TextNode <#text>
BlockContainer <div> at (48,262) content-size 744x52 children: not-inline
BlockContainer <(anonymous)> at (48,262) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 4, rect: [48,262 35.671875x18] baseline: 13.796875
"2025"
TextNode <#text>
ListItemBox <p> at (48,296) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 11, rect: [48,296 90.28125x18] baseline: 13.796875
"Twenty-five"
ListItemMarkerBox <(anonymous)> at (14.390625,296.5) content-size 21.609375x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,330) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,330) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,330) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 10, rect: [48,330 85.96875x18] baseline: 13.796875
"Twenty-six"
ListItemMarkerBox <(anonymous)> at (14.109375,330.5) content-size 21.890625x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,348) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <span> at (48,348) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 12, rect: [48,348 106.953125x18] baseline: 13.796875
"Twenty-seven"
ListItemMarkerBox <(anonymous)> at (14.125,348.5) content-size 21.875x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,366) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,366) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 12, rect: [48,366 99.359375x18] baseline: 13.796875
"Twenty-eight"
ListItemMarkerBox <(anonymous)> at (13.359375,366.5) content-size 22.640625x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,384) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,400) content-size 784x0 children: inline
TextNode <#text>
ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x400]
PaintableWithLines (BlockContainer<BODY>) [8,16 784x368]
PaintableWithLines (BlockContainer<OL>) [8,16 784x368]
PaintableWithLines (BlockContainer(anonymous)) [48,16 744x0]
PaintableWithLines (ListItemBox<LI>) [48,16 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [25.3125,16.5 10.6875x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,34 744x0]
PaintableWithLines (ListItemBox<LI>) [48,34 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [14.03125,34.5 21.96875x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,52 744x0]
PaintableWithLines (BlockContainer<DIV>) [48,52 744x18]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,70 744x0]
PaintableWithLines (BlockContainer<DIV>) [48,70 744x72]
PaintableWithLines (BlockContainer(anonymous)) [48,70 744x18]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer<DIV>) [48,88 744x54]
PaintableWithLines (BlockContainer(anonymous)) [48,88 744x18]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer<DIV>) [48,106 744x36]
PaintableWithLines (BlockContainer(anonymous)) [48,106 744x18]
TextPaintable (TextNode<#text>)
PaintableWithLines (ListItemBox<DIV>) [48,124 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [13.75,124.5 22.25x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,142 744x0]
PaintableWithLines (BlockContainer(anonymous)) [48,142 744x0]
PaintableWithLines (BlockContainer<P>) [48,158 744x18]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,192 744x0]
PaintableWithLines (BlockContainer<P>) [48,192 744x18]
PaintableWithLines (InlineNode<SPAN>)
TextPaintable (TextNode<#text>)
PaintableWithLines (InlineNode<SPAN>)
TextPaintable (TextNode<#text>)
PaintableWithLines (InlineNode<SPAN>)
TextPaintable (TextNode<#text>)
PaintableWithLines (ListItemBox<LI>) [48,226 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [15.09375,226.5 20.90625x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,244 744x0]
PaintableWithLines (BlockContainer<DIV>) [48,244 744x70]
PaintableWithLines (BlockContainer(anonymous)) [48,244 744x18]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer<DIV>) [48,262 744x52]
PaintableWithLines (BlockContainer(anonymous)) [48,262 744x18]
TextPaintable (TextNode<#text>)
PaintableWithLines (ListItemBox<P>) [48,296 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [14.390625,296.5 21.609375x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,330 744x0]
PaintableWithLines (BlockContainer(anonymous)) [48,330 744x0]
PaintableWithLines (ListItemBox<LI>) [48,330 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [14.109375,330.5 21.890625x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,348 744x0]
PaintableWithLines (ListItemBox<SPAN>) [48,348 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [14.125,348.5 21.875x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,366 744x0]
PaintableWithLines (ListItemBox<LI>) [48,366 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [13.359375,366.5 22.640625x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,384 744x0]
PaintableWithLines (BlockContainer(anonymous)) [8,400 784x0]

View file

@ -0,0 +1,63 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x104 [BFC] children: not-inline
BlockContainer <body> at (8,16) content-size 784x72 children: not-inline
BlockContainer <(anonymous)> at (8,16) content-size 784x0 children: inline
TextNode <#text>
BlockContainer <ol> at (48,16) content-size 744x72 children: not-inline
BlockContainer <(anonymous)> at (48,16) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,16) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 5, rect: [48,16 47.21875x18] baseline: 13.796875
"Seven"
ListItemMarkerBox <(anonymous)> at (22.9375,16.5) content-size 13.0625x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,34) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,34) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 28, rect: [48,34 242.4375x18] baseline: 13.796875
"Minus one hundred and twelve"
ListItemMarkerBox <(anonymous)> at (3.671875,34.5) content-size 32.328125x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,52) content-size 744x0 children: inline
TextNode <#text>
TextNode <#text>
ListItemBox <li> at (48,52) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 23, rect: [48,52 206.5x18] baseline: 13.796875
"Two to the power of ten"
ListItemMarkerBox <(anonymous)> at (-0.84375,52.5) content-size 36.84375x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,70) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,70) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 6, rect: [48,70 51.34375x18] baseline: 13.796875
"Eleven"
ListItemMarkerBox <(anonymous)> at (18.96875,70.5) content-size 17.03125x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,88) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,104) content-size 784x0 children: inline
TextNode <#text>
ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x104]
PaintableWithLines (BlockContainer<BODY>) [8,16 784x72]
PaintableWithLines (BlockContainer(anonymous)) [8,16 784x0]
PaintableWithLines (BlockContainer<OL>) [8,16 784x72]
PaintableWithLines (BlockContainer(anonymous)) [48,16 744x0]
PaintableWithLines (ListItemBox<LI>) [48,16 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [22.9375,16.5 13.0625x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,34 744x0]
PaintableWithLines (ListItemBox<LI>) [48,34 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [3.671875,34.5 32.328125x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,52 744x0]
PaintableWithLines (ListItemBox<LI>) [48,52 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [-0.84375,52.5 36.84375x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,70 744x0]
PaintableWithLines (ListItemBox<LI>) [48,70 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [18.96875,70.5 17.03125x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,88 744x0]
PaintableWithLines (BlockContainer(anonymous)) [8,104 784x0]

View file

@ -0,0 +1,103 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x208 [BFC] children: not-inline
BlockContainer <body> at (8,16) content-size 784x176 children: not-inline
BlockContainer <ol> at (48,16) content-size 744x176 children: not-inline
BlockContainer <(anonymous)> at (48,16) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,16) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [48,16 29.8125x18] baseline: 13.796875
"One"
ListItemMarkerBox <(anonymous)> at (25.3125,16.5) content-size 10.6875x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,34) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,34) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 10, rect: [48,34 90.796875x18] baseline: 13.796875
"Twenty-two"
ListItemMarkerBox <(anonymous)> at (14.03125,34.5) content-size 21.96875x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,52) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <div> at (48,52) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 12, rect: [48,52 104.78125x18] baseline: 13.796875
"Twenty-three"
ListItemMarkerBox <(anonymous)> at (13.75,52.5) content-size 22.25x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,70) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,70) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 11, rect: [48,70 97.75x18] baseline: 13.796875
"Twenty-four"
ListItemMarkerBox <(anonymous)> at (15.09375,70.5) content-size 20.90625x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,88) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <p> at (48,104) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 11, rect: [48,104 90.28125x18] baseline: 13.796875
"Twenty-five"
ListItemMarkerBox <(anonymous)> at (14.390625,104.5) content-size 21.609375x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,138) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,138) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 10, rect: [48,138 85.96875x18] baseline: 13.796875
"Twenty-six"
ListItemMarkerBox <(anonymous)> at (14.109375,138.5) content-size 21.890625x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,156) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <span> at (48,156) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 12, rect: [48,156 106.953125x18] baseline: 13.796875
"Twenty-seven"
ListItemMarkerBox <(anonymous)> at (14.125,156.5) content-size 21.875x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,174) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,174) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 12, rect: [48,174 99.359375x18] baseline: 13.796875
"Twenty-eight"
ListItemMarkerBox <(anonymous)> at (13.359375,174.5) content-size 22.640625x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,192) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,208) content-size 784x0 children: inline
TextNode <#text>
ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x208]
PaintableWithLines (BlockContainer<BODY>) [8,16 784x176]
PaintableWithLines (BlockContainer<OL>) [8,16 784x176]
PaintableWithLines (BlockContainer(anonymous)) [48,16 744x0]
PaintableWithLines (ListItemBox<LI>) [48,16 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [25.3125,16.5 10.6875x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,34 744x0]
PaintableWithLines (ListItemBox<LI>) [48,34 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [14.03125,34.5 21.96875x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,52 744x0]
PaintableWithLines (ListItemBox<DIV>) [48,52 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [13.75,52.5 22.25x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,70 744x0]
PaintableWithLines (ListItemBox<LI>) [48,70 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [15.09375,70.5 20.90625x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,88 744x0]
PaintableWithLines (ListItemBox<P>) [48,104 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [14.390625,104.5 21.609375x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,138 744x0]
PaintableWithLines (ListItemBox<LI>) [48,138 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [14.109375,138.5 21.890625x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,156 744x0]
PaintableWithLines (ListItemBox<SPAN>) [48,156 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [14.125,156.5 21.875x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,174 744x0]
PaintableWithLines (ListItemBox<LI>) [48,174 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [13.359375,174.5 22.640625x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,192 744x0]
PaintableWithLines (BlockContainer(anonymous)) [8,208 784x0]

View file

@ -0,0 +1,73 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x120 [BFC] children: not-inline
BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline
TextNode <#text>
BlockContainer <body> at (8,16) content-size 784x88 children: not-inline
BlockContainer <(anonymous)> at (8,16) content-size 784x0 children: inline
TextNode <#text>
BlockContainer <ul.A> at (48,16) content-size 744x36 children: not-inline
BlockContainer <(anonymous)> at (48,16) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,16) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 5, rect: [48,16 47.859375x18] baseline: 13.796875
"Three"
ListItemMarkerBox <(anonymous)> at (24,16.5) content-size 12x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,34) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,34) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 4, rect: [48,34 41.5x18] baseline: 13.796875
"Four"
ListItemMarkerBox <(anonymous)> at (24,34.5) content-size 12x17 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,52) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,68) content-size 784x0 children: inline
TextNode <#text>
BlockContainer <ul.B> at (48,68) content-size 744x36 children: not-inline
BlockContainer <(anonymous)> at (48,68) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,68) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [48,68 29.8125x18] baseline: 13.796875
"One"
ListItemMarkerBox <(anonymous)> at (40,68) content-size 4x9 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,86) content-size 744x0 children: inline
TextNode <#text>
ListItemBox <li> at (48,86) content-size 744x18 children: inline
frag 0 from TextNode start: 0, length: 3, rect: [48,86 33.875x18] baseline: 13.796875
"Two"
ListItemMarkerBox <(anonymous)> at (40,86) content-size 4x9 children: not-inline
TextNode <#text>
BlockContainer <(anonymous)> at (48,104) content-size 744x0 children: inline
TextNode <#text>
BlockContainer <(anonymous)> at (8,120) content-size 784x0 children: inline
TextNode <#text>
ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x120]
PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
PaintableWithLines (BlockContainer<BODY>) [8,16 784x88]
PaintableWithLines (BlockContainer(anonymous)) [8,16 784x0]
PaintableWithLines (BlockContainer<UL>.A) [8,16 784x36]
PaintableWithLines (BlockContainer(anonymous)) [48,16 744x0]
PaintableWithLines (ListItemBox<LI>) [48,16 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [24,16.5 12x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,34 744x0]
PaintableWithLines (ListItemBox<LI>) [48,34 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [24,34.5 12x17]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,52 744x0]
PaintableWithLines (BlockContainer(anonymous)) [8,68 784x0]
PaintableWithLines (BlockContainer<UL>.B) [8,68 784x36]
PaintableWithLines (BlockContainer(anonymous)) [48,68 744x0]
PaintableWithLines (ListItemBox<LI>) [48,68 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [40,68 4x9]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,86 744x0]
PaintableWithLines (ListItemBox<LI>) [48,86 744x18]
MarkerPaintable (ListItemMarkerBox(anonymous)) [40,86 4x9]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [48,104 744x0]
PaintableWithLines (BlockContainer(anonymous)) [8,120 784x0]

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<body>
<ol id="ol-without-box" style="display:contents">
<!--
The list item owner will be the document; not "ol-without-box".
As a result, the list will be displayed as an ul.
FIXME: Ladybird paints MarkerPaintable... but without an actual marker. Firefox and Chrome show a minuscule bullet.
-->
<li>One</li>
<li>Two</li>
</ol>
</body>

View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html>
<div id="list-item-owner">
<ol id="ol-without-box" style="display:contents">
<!--
The list item owner will be "list-item-owner"; not "ol-without-box".
As a result, the list will be displayed as an ul.
FIXME: Ladybird paints MarkerPaintable... but without an actual marker. Firefox and Chrome show a minuscule bullet.
-->
<li>One</li>
<li>Two</li>
</ol>
</div>
</html>

View file

@ -0,0 +1,5 @@
<!DOCTYPE html>
<body>
<li>One
<li>Two
</body>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<ol>
<li>One</li>
<li value=22>Twenty-two</li>
<div>Ignore these</div>
<div>+A<div>+B<div>+C
<div style="display:list-item">Twenty-three</div>
</div></div></div>
<p>Ignore this paragraph</p>
<p><span>X<span>Y<span>Z
<li>Twenty-four</li>
</span></span></span>
<div>List item paragraph inside nested divs<div>2025
<p style="display:list-item">Twenty-five</p>
</div></div>
<li>Twenty-six</li>
<span style="display:list-item">Twenty-seven</span>
<li>Twenty-eight</li>
</ol>
</html>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<!--
Confirms MarkerPaintable sizes for reference list.
FIXME: Left alignment cuts into border.
-->
<body>
<ol start=7>
<li>Seven</li>
<li value="-112">Minus one hundred and twelve</li> <!-- Confirms negative ordinal -->
<li value="1024">Two to the power of ten</li>
<li value="11">Eleven</li>
</ol>
</body>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<ol>
<li>One</li>
<li value=22>Twenty-two</li>
<div style="display:list-item">Twenty-three</div>
<li>Twenty-four</li>
<p style="display:list-item">Twenty-five</p>
<li>Twenty-six</li>
<span style="display:list-item">Twenty-seven</span>
<li>Twenty-eight</li>
</ol>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<head>
<!--
Confirms drawing a ul. Font size can be controlled so MarkerPaintable sizes should match reference.
FIXME: At some point, `::marker` should support `content`. https://drafts.csswg.org/css-content-3/#propdef-content
-->
<style>
.B li::marker { font-size: .5em; }
</style>
</head>
<body>
<ul class="A">
<li>Three</li>
<li>Four</li>
</ul>
<ul class="B">
<li>One</li>
<li>Two</li>
</ul>
</body>

View file

@ -0,0 +1,43 @@
<!DOCTYPE html>
<body>
<ol> <!-- Default -->
<li value="1">One</li>
<li value="2">Two</li>
<li value="3">Three</li>
</ol>
<ol> <!-- Incremental start value -->
<li value="14">Fourteen</li>
<li value="15">Fifteen</li>
<li value="16">Sixteen</li>
</ol>
<ol> <!-- Incremental start value negative -->
<li value="-11">Minus eleven</li>
<li value="-10">Minus ten</li>
<li value="-9">Minus nine</li>
</ol>
<ol> <!-- Incremental cross zero -->
<li value="-1">Minus one</li>
<li value="0">Zero</li>
<li value="1">One</li>
</ol>
<ol reversed> <!-- Reverse -->
<li value=3>Three</li>
<li value="2">Two</li>
<li value="1">One</li>
</ol>
<ol reversed> <!-- Reverse start value -->
<li value="14">Fourteen</li>
<li value="13">Thirteen</li>
<li value="12">Twelve</li>
</ol>
<ol reversed> <!-- Reverse negative start value -->
<li value="-14">Minus fourteen</li>
<li value="-15">Minus fifteen</li>
<li value="-16">Minus sixteen</li>
</ol>
<ol reversed> <!-- Reverse cross zero -->
<li value="1">One</li>
<li value="0">Zero</li>
<li value="-1">Minus one</li>
</ol>
</body>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<body>
<ol>
<li value=1>One
<li value=5>Five
<ol>
<li value=31>Thirty-one
<li value=32>Thirty-two
<ol reversed>
<li value=4>Four
<li value=3>Three
<li value=2>Two
<li value=1>One
</ol>
<li value=33>Thirty-three
</ol>
<li value=6>Six
</ol>
</body>

View file

@ -0,0 +1,46 @@
<!DOCTYPE html>
<head>
<link rel="match" href="../expected/ol-render-default-ref.html" />
</head>
<body>
<ol> <!-- Default -->
<li>One</li>
<li>Two</li>
<li>Three</li>
</ol>
<ol> <!-- Incremental start value -->
<li value="14">Fourteen</li>
<li>Fifteen</li>
<li>Sixteen</li>
</ol>
<ol> <!-- Incremental start value negative -->
<li value="-11">Minus eleven</li>
<li>Minus ten</li>
<li>Minus nine</li>
</ol>
<ol> <!-- Incremental cross zero -->
<li value="-1">Minus one</li>
<li>Zero</li>
<li>One</li>
</ol>
<ol reversed> <!-- Reverse -->
<li value=3>Three</li>
<li>Two</li>
<li>One</li>
</ol>
<ol reversed> <!-- Reverse start value -->
<li value="14">Fourteen</li>
<li>Thirteen</li>
<li>Twelve</li>
</ol>
<ol reversed> <!-- Reverse negative start value -->
<li value="-14">Minus fourteen</li>
<li>Minus fifteen</li>
<li>Minus sixteen</li>
</ol>
<ol reversed> <!-- Reverse cross zero -->
<li value="1">One</li>
<li>Zero</li>
<li>Minus one</li>
</ol>
</body>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<head>
<link rel="match" href="../expected/ol-render-nested-ref.html" />
</head>
<body>
<!--
FIXME: Add support hierarchical markers https://drafts.csswg.org/css-lists-3/#example-598c7e61
-->
<!DOCTYPE html>
<body>
<ol>
<li>One
<li value=5>Five
<ol start=31>
<li>Thirty-one
<li>Thirty-two
<ol reversed>
<li>Four
<li>Three
<li>Two
<li>One
</ol>
<li>Thirty-three
</ol>
<li>Six
</ol>
</body>
</body>