CSS Text Module Level 3 CR Test Suite

White Space Processing & Control Characters (441 tests)

Test Refs Flags Info
+ 4 White Space Processing & Control Characters
bidi-002 = RLO/PDF bidi reordering across closing inline element boundary + soft line break
  • Tests that RLO + closing inline element boundary + soft line break + PDF reorders text, placing text correctly on each line while also splitting inline and rendering borders and padding appropriately.
control-characters-002 Control Characters
  • Handling and processing of control characters.
control-chars-000 Control charcters must be visible: U+0000
  • U+0000, which is in the unicode category CC, must be visible
control-chars-001 Control charcters must be visible: U+0001
  • U+0001, which is in the unicode category CC, must be visible
control-chars-002 Control charcters must be visible: U+0002
  • U+0002, which is in the unicode category CC, must be visible
control-chars-003 Control charcters must be visible: U+0003
  • U+0003, which is in the unicode category CC, must be visible
control-chars-004 Control charcters must be visible: U+0004
  • U+0004, which is in the unicode category CC, must be visible
control-chars-005 Control charcters must be visible: U+0005
  • U+0005, which is in the unicode category CC, must be visible
control-chars-006 Control charcters must be visible: U+0006
  • U+0006, which is in the unicode category CC, must be visible
control-chars-007 Control charcters must be visible: U+0007
  • U+0007, which is in the unicode category CC, must be visible
control-chars-008 Control charcters must be visible: U+0008
  • U+0008, which is in the unicode category CC, must be visible
control-chars-00b Control charcters must be visible: U+000B
  • U+000B, which is in the unicode category CC, must be visible
control-chars-00c Control charcters must be visible: U+000C
  • U+000C, which is in the unicode category CC, must be visible
control-chars-00d = U+000D must be treated the same as U+0020
  • U+000D must be treated as U+0020
control-chars-00e Control charcters must be visible: U+000E
  • U+000E, which is in the unicode category CC, must be visible
control-chars-00f Control charcters must be visible: U+000F
  • U+000F, which is in the unicode category CC, must be visible
control-chars-010 Control charcters must be visible: U+0010
  • U+0010, which is in the unicode category CC, must be visible
control-chars-011 Control charcters must be visible: U+0011
  • U+0011, which is in the unicode category CC, must be visible
control-chars-012 Control charcters must be visible: U+0012
  • U+0012, which is in the unicode category CC, must be visible
control-chars-013 Control charcters must be visible: U+0013
  • U+0013, which is in the unicode category CC, must be visible
control-chars-014 Control charcters must be visible: U+0014
  • U+0014, which is in the unicode category CC, must be visible
control-chars-015 Control charcters must be visible: U+0015
  • U+0015, which is in the unicode category CC, must be visible
control-chars-016 Control charcters must be visible: U+0016
  • U+0016, which is in the unicode category CC, must be visible
control-chars-017 Control charcters must be visible: U+0017
  • U+0017, which is in the unicode category CC, must be visible
control-chars-018 Control charcters must be visible: U+0018
  • U+0018, which is in the unicode category CC, must be visible
control-chars-019 Control charcters must be visible: U+0019
  • U+0019, which is in the unicode category CC, must be visible
control-chars-01a Control charcters must be visible: U+001A
  • U+001A, which is in the unicode category CC, must be visible
control-chars-01b Control charcters must be visible: U+001B
  • U+001B, which is in the unicode category CC, must be visible
control-chars-01c Control charcters must be visible: U+001C
  • U+001C, which is in the unicode category CC, must be visible
control-chars-01d Control charcters must be visible: U+001D
  • U+001D, which is in the unicode category CC, must be visible
control-chars-01e Control charcters must be visible: U+001E
  • U+001E, which is in the unicode category CC, must be visible
control-chars-01f Control charcters must be visible: U+001F
  • U+001F, which is in the unicode category CC, must be visible
control-chars-07f Control charcters must be visible: U+007F
  • U+007F, which is in the unicode category CC, must be visible
control-chars-080 Control charcters must be visible: U+0080
  • U+0080, which is in the unicode category CC, must be visible
control-chars-081 Control charcters must be visible: U+0081
  • U+0081, which is in the unicode category CC, must be visible
control-chars-082 Control charcters must be visible: U+0082
  • U+0082, which is in the unicode category CC, must be visible
control-chars-083 Control charcters must be visible: U+0083
  • U+0083, which is in the unicode category CC, must be visible
control-chars-084 Control charcters must be visible: U+0084
  • U+0084, which is in the unicode category CC, must be visible
control-chars-085 Control charcters must be visible: U+0085
  • U+0085, which is in the unicode category CC, must be visible
control-chars-086 Control charcters must be visible: U+0086
  • U+0086, which is in the unicode category CC, must be visible
control-chars-087 Control charcters must be visible: U+0087
  • U+0087, which is in the unicode category CC, must be visible
control-chars-088 Control charcters must be visible: U+0088
  • U+0088, which is in the unicode category CC, must be visible
control-chars-089 Control charcters must be visible: U+0089
  • U+0089, which is in the unicode category CC, must be visible
control-chars-08a Control charcters must be visible: U+008A
  • U+008A, which is in the unicode category CC, must be visible
control-chars-08b Control charcters must be visible: U+008B
  • U+008B, which is in the unicode category CC, must be visible
control-chars-08c Control charcters must be visible: U+008C
  • U+008C, which is in the unicode category CC, must be visible
control-chars-08d Control charcters must be visible: U+008D
  • U+008D, which is in the unicode category CC, must be visible
control-chars-08e Control charcters must be visible: U+008E
  • U+008E, which is in the unicode category CC, must be visible
control-chars-08f Control charcters must be visible: U+008F
  • U+008F, which is in the unicode category CC, must be visible
control-chars-090 Control charcters must be visible: U+0090
  • U+0090, which is in the unicode category CC, must be visible
control-chars-091 Control charcters must be visible: U+0091
  • U+0091, which is in the unicode category CC, must be visible
control-chars-092 Control charcters must be visible: U+0092
  • U+0092, which is in the unicode category CC, must be visible
control-chars-093 Control charcters must be visible: U+0093
  • U+0093, which is in the unicode category CC, must be visible
control-chars-094 Control charcters must be visible: U+0094
  • U+0094, which is in the unicode category CC, must be visible
control-chars-095 Control charcters must be visible: U+0095
  • U+0095, which is in the unicode category CC, must be visible
control-chars-096 Control charcters must be visible: U+0096
  • U+0096, which is in the unicode category CC, must be visible
control-chars-097 Control charcters must be visible: U+0097
  • U+0097, which is in the unicode category CC, must be visible
control-chars-098 Control charcters must be visible: U+0098
  • U+0098, which is in the unicode category CC, must be visible
control-chars-099 Control charcters must be visible: U+0099
  • U+0099, which is in the unicode category CC, must be visible
control-chars-09a Control charcters must be visible: U+009A
  • U+009A, which is in the unicode category CC, must be visible
control-chars-09b Control charcters must be visible: U+009B
  • U+009B, which is in the unicode category CC, must be visible
control-chars-09c Control charcters must be visible: U+009C
  • U+009C, which is in the unicode category CC, must be visible
control-chars-09d Control charcters must be visible: U+009D
  • U+009D, which is in the unicode category CC, must be visible
control-chars-09e Control charcters must be visible: U+009E
  • U+009E, which is in the unicode category CC, must be visible
control-chars-09f Control charcters must be visible: U+009F
  • U+009F, which is in the unicode category CC, must be visible
line-breaking-bidi-001 = Ahem Line breaking and the bidi algorithm
line-breaking-bidi-002 = Ahem Line breaking and the bidi algorithm (with hebrew character)
line-breaking-bidi-003 = Ahem Line breaking and the bidi algorithm (no breaks)
white-space-control-characters-001 Ahem White-space and non white space control characters
  • White space processing model does not affect non white space control characters, in this case the 'Start of string' character.
white-space-processing-005 = AhemOptional White-space 'normal' with carriage return adjoining linefeed
  • A carriage return before a linefeed is removed if 'white-space' is set to 'normal'. The linefeed may be rendered as a space or not rendered. Under css-text-3, this is stricter: the carriage return is turned into a space, which is removed before a line feed, and the line feed must be turned into a space, which must be discarded since it's at the end of a line.
white-space-processing-006 = AhemOptional White-space 'nowrap' with carriage return adjoining linefeed
  • A carriage return before a linefeed is removed if 'white-space' is set to 'nowrap'. The linefeed may be rendered as a space or not rendered. Under css-text-3 rules, this is scriter, and 1 space is expected
white-space-processing-007 = AhemOptional White-space 'pre-line' with carriage return adjoining linefeed
  • A carriage return before a linefeed is removed if 'white-space' is set to 'pre-line'. The linefeed may be rendered as a space or not rendered. Under css-text-3, the result is fully deterministic.
+ 4.1 The White Space Processing Rules
bidi-004 = AhemOptional The bidi algorithm and inlines in CSS
display-contents-shadow-host-whitespace = Whitespace across display:contents shadow host
lone-cr-001.tentative = Lone CR shouldn't cause previous spaces to collapse
marker-content-018 = ::marker pseudo elements styled with 'content' property
  • Checks that the 'content' property of a ::marker doesn't affect white space.
tcy-white-space-processing-001 = white-space:normal space processing in text-combine-horizontal
  • Spaces with white-space:normal in a text-combine horizontal is trimmed at the start and end, and collapsed in the middle.
tcy-white-space-processing-002 = white-space:pre space processing in text-combine-horizontal
  • Spaces with white-space:pre in a text-combine-upright are preserved
tcy-white-space-processing-003 = white space only text-combine-horizontal
  • a text-combine-upright with only white-space is preserved as a 1em square, including at the end of the containing line, regardless of the value of the white-space property
white-space-empty-text-sibling =
white-space-mixed-002 = Ahem white-space: mixed tests (simple)
white-space-normal-003 = Ahem white-space normal: UNICODE space characters
white-space-normal-004 = Ahem white-space normal: UNICODE space characters with inline elements
white-space-normal-005 = Ahem white-space normal: zero width non-breaking space
white-space-normal-006 = Ahem white-space normal: zero width non-breaking space
white-space-normal-007 = Ahem white-space normal: zero width non-breaking space
white-space-normal-008 = Ahem white-space normal: zero width non-breaking space
white-space-nowrap-005 = Ahem white-space nowrap: zero width non-breaking space
white-space-nowrap-006 = Ahem white-space nowrap: zero width non-breaking space
white-space-pre-005 = Ahem white-space pre: zero width non-breaking space
white-space-pre-006 = Ahem white-space pre: zero width non-breaking space
white-space-processing-054 = Ahem White space processing model with 'en quad' characters
  • An 'en quad' characters is not collapsed by the white space processing model.
white-space-processing-055 = Ahem White space processing model with 'zero width no break space' character
  • A 'zero width no break space' character is not collapsed by the white space processing model.
white-space-processing-056 = Ahem White space processing model with 'ideographic space' character
  • The 'ideographic space' character is not collapsed by the white space processing model.
overflow-wrap-002 = Ahem overflow-wrap - break-word and white-space - nowrap
  • Test checks that the 'overflow-wrap' property has effect if and only if the 'white-space' allows wrapping
word-wrap-002 = Ahem word-wrap - break-word and white-space - nowrap
  • Test checks that the 'word-wrap' property has effect if and only if the 'white-space' allows wrapping
+ 4.1.1 Phase I: Collapsing and Transformation
break-spaces-tab-001 = wrapping opportunity after break-spaces tabs
  • There is a wrapping opportunity at the end of a sequence of tabs with white-space:break-spaces
break-spaces-tab-002 = wrapping opportunity after break-spaces tabs and space
  • There is a wrapping opportunity at the end of a sequence of tabs and spaces with white-space:break-spaces
break-spaces-tab-003 = wrapping opportunity after each break-spaces tab
  • There is a wrapping opportunity after each tab in a sequence with white-space:break-spaces.
break-spaces-tab-004 = wrapping opportunity after each break-spaces space and tab
  • There is a wrapping opportunity after each tab and space in a sequence with white-space:break-spaces.
pre-wrap-tab-001 = wrapping opportunity after pre-wrap tabs
  • There is a wrapping opportunity at the end of a sequence of tabs with white-space:pre-wrap
pre-wrap-tab-002 = wrapping opportunity after pre-wrap tabs and spaces
  • There is a wrapping opportunity at the end of a sequence of tabs and spaces with white-space:pre-wrap
pre-wrap-tab-003 = no wrapping opportunity between pre-wrap tabs
  • There is a wrapping opportunity at the end of a sequence of tabs with white-space:pre-wrap, but not between or before each tab.
pre-wrap-tab-004 = no wrapping opportunity between pre-wrap tabs and spaces
  • There is a wrapping opportunity at the end of a sequence of tabs and spaces with white-space:pre-wrap, but not between or before each.
white-space-001 = Ahem White-space set to 'normal'
  • The 'white-space' property set to 'normal' removes extra spacing when more than one space is next to another.
white-space-002 = Ahem White-space set to 'pre'
  • The 'white-space' property set to 'pre' does not remove extra spacing when more than one space is next to another.
white-space-003 = Ahem White-space set to 'nowrap'
  • The 'white-space' property set to 'nowrap' removes extra spacing when more than one space is next to another. And the text does not wrap when width is constrained.
white-space-004 = Ahem White-space set to 'pre-wrap'
  • The 'white-space' property set to 'pre-wrap' does not remove extra spacing when two spaces are next to each other and introduces line breaking opportunities.
white-space-005 = Ahem White-space set to 'pre-line'
  • The 'white-space' property set to 'pre-line' does remove extra spacing when two spaces are next to each other and breaks at new lines.
white-space-007 = Ahem white-space
  • 'white-space: normal' and 'white-space: nowrap' should collapse sequences of white space. Regarding wrapping, line breaking opportunities are determined on the text prior to white space collapsing steps.
white-space-bidirectionality-001 = White-space and bidirectionality (example from spec)
  • The white space processing model does not take bidi into account for the first half of the processing model but does for the second half.
white-space-collapsing-001 = Ahem white-space normal: collapsing through padding, borders, margins
white-space-collapsing-002 = Ahem white-space normal: collapsing through padding, borders, margins
white-space-collapsing-004 = Ahem white-space normal: simple tests
white-space-collapsing-005 = Ahem white-space normal: simple tests
white-space-collapsing-bidi-001 = Ahem White-space collapsing and the bidi algorithm
white-space-collapsing-bidi-002 = Ahem White-space collapsing and the bidi algorithm (using <dir>)
white-space-collapsing-bidi-003 = Ahem Trailing spaces in table cells
white-space-collapsing-breaks-001 = Line Breaking in Collapsed White Space
  • Line break opportunities are determined before white space collapsing.
white-space-normal-002 = Ahem white-space normal: simple tests
white-space-processing-001 = Ahem Block level elements with text and white space
  • Text within a block element is treated like an anonymous inline element for white space processing model.
white-space-processing-002 = Ahem White-space 'normal' with tab adjoining linefeed
  • A tab before a linefeed is removed if 'white-space' is set to 'normal'.
white-space-processing-003 = Ahem White-space 'nowrap' with tab adjoining linefeed
  • A tab before a linefeed is removed if 'white-space' is set to 'nowrap'.
white-space-processing-004 = Ahem White-space 'pre-line' with tab adjoining linefeed
  • A tab before a linefeed is removed if 'white-space' is set to 'pre-line'.
white-space-processing-008 = Ahem White-space 'normal' with space adjoining linefeed
  • A space before a linefeed is removed if 'white-space' is set to 'normal'.
white-space-processing-009 = Ahem White-space 'nowrap' with space adjoining linefeed
  • A space before a linefeed is removed if 'white-space' is set to 'nowrap'.
white-space-processing-010 = Ahem White-space 'pre-line' with space adjoining linefeed
  • A space before a linefeed is removed if 'white-space' is set to 'pre-line'.
white-space-processing-011 = Ahem White-space 'pre' with sequence of spaces
  • A sequence of spaces are not collapsed when 'white-space' is set to 'pre'.
white-space-processing-012 = Ahem White-space 'pre-wrap' with sequence of spaces
  • Sequence of spaces are not collapsed when 'white-space' is set to 'pre-wrap'.
white-space-processing-013 = Ahem White-space 'pre-wrap' and line opportunity with sequence of spaces
  • A line breaking opportunity is introduced at the end of a sequence of spaces when 'white-space' is set to 'pre-wrap'.
white-space-processing-019 = Ahem White-space 'normal' and tabs
  • Tabs are converted to spaces when 'white-space' is set to 'normal'.
white-space-processing-020 = Ahem White-space 'nowrap' and tabs
  • Tabs are converted to spaces when 'white-space' is set to 'nowrap'.
white-space-processing-021 = Ahem White-space 'pre-line' and tabs
  • Tabs are converted to spaces when 'white-space' is set to 'pre-line'.
white-space-processing-022 = Ahem White space processing model with 'space' characters
  • One space with 'white-space' set to 'normal' adjoining a space with 'white-space' set to 'normal' collapse into one space.
white-space-processing-023 = Ahem Two spaces adjoining with 'white-space' 'normal'/'nowrap'
  • One space with 'white-space' set to 'normal' adjoining a space with 'white-space' set to 'nowrap' collapse into one space.
white-space-processing-024 = Ahem Two spaces adjoining with 'white-space' 'normal'/'pre-line'
  • One space with 'white-space' set to 'normal' adjoining a space with 'white-space' set to 'pre-line' collapse into one space.
white-space-processing-025 = Ahem Two spaces adjoining with 'white-space' 'nowrap'/'normal'
  • One space with 'white-space' set to 'nowrap' adjoining a space with 'white-space' set to 'normal' collapse into one space.
white-space-processing-026 = Ahem Two spaces adjoining with 'white-space' 'nowrap'/'nowrap'
  • One space with 'white-space' set to 'nowrap' adjoining a space with 'white-space' set to 'nowrap' collapse into one space.
white-space-processing-027 = Ahem Two spaces adjoining with 'white-space' 'nowrap'/'pre-line'
  • One space with 'white-space' set to 'nowrap' adjoining a space with 'white-space' set to 'pre-line' collapse into one space.
white-space-processing-028 = Ahem Two spaces adjoining with 'white-space' 'pre-line'/'normal'
  • One space with 'white-space' set to 'pre-line' adjoining a space with 'white-space' set to 'normal' collapse into one space.
white-space-processing-029 = Ahem Two spaces adjoining with 'white-space' 'pre-line'/'nowrap'
  • One space with 'white-space' set to 'pre-line' adjoining a space with 'white-space' set to 'nowrap' collapse into one space.
white-space-processing-030 = Ahem Two spaces adjoining with 'white-space' 'pre-line'/'pre-line'
  • One space with 'white-space' set to 'pre-line' adjoining a space with 'white-space' set to 'pre-line' collapse into one space.
white-space-processing-031 = Ahem Two spaces adjoining with 'white-space' 'normal'/'pre'
  • One space with 'white-space' set to 'normal' adjoining a space with 'white-space' set to 'pre' remain two spaces.
white-space-processing-032 = Ahem Two spaces adjoining with 'white-space' 'normal'/'pre-wrap'
  • One space with 'white-space' set to 'normal' adjoining a space with 'white-space' set to 'pre-wrap' remain two spaces.
white-space-processing-033 = Ahem Two spaces adjoining with 'white-space' 'nowrap'/'pre'
  • One space with 'white-space' set to 'nowrap' adjoining a space with 'white-space' set to 'pre' remain two spaces.
white-space-processing-034 = Ahem Two spaces adjoining with 'white-space' 'nowrap'/'pre-wrap'
  • One space with 'white-space' set to 'nowrap' adjoining a space with 'white-space' set to 'pre-wrap' remain two spaces.
white-space-processing-035 = Ahem Two spaces adjoining with 'white-space' 'pre-line'/'pre'
  • One space with 'white-space' set to 'pre-line' adjoining a space with 'white-space' set to 'pre' retain two spaces.
white-space-processing-036 = Ahem Two spaces adjoining with 'white-space' 'pre-line'/'pre-wrap'
  • One space with 'white-space' set to 'pre-line' adjoining a space with 'white-space' set to 'pre-wrap' retain two spaces.
white-space-processing-050 = Ahem White-space 'normal' on a 'pre' element
  • The 'white-space' property set to 'normal' removes extra spacing when two spaces are next to each other when set on 'pre' element.
white-space-processing-051 = Ahem White-space 'nowrap' on a 'pre' element
  • The 'white-space' property set to 'nowrap' does not remove extra spacing when two spaces are next to each other.
white-space-processing-052 = Ahem White-space 'pre-wrap' on a 'pre' element
  • The 'white-space' property set to 'pre-wrap' does not remove extra spacing when two spaces are next to each other and introduces line breaking opportunities when set on a 'pre' element.
white-space-processing-053 = Ahem White-space 'pre-line' on a 'pre' element
  • The 'white-space' property set to 'pre-line' does remove extra spacing when two spaces are next to each other and breaks at new lines when set on a 'pre' element.
word-boundary-007 = word-boundary-expansion space collapsing
  • word-boundary-expnasion happens before phase 1 of white space processing, so inserted spaces collapse with adjacent ones
word-boundary-008 = word-boundary-expansion space non collapsing
  • word-boundary-expnasion happens before phase 1 of white space processing, so inserted spaces can be preserved by white-space:pre
word-boundary-009 = word-boundary-expansion and text-transform:full-width
  • word-boundary-expansion:space happens at the right stage of the white space processing pipeline to interact properly with text-transform:full-width
+ 4.1.2 Phase II: Trimming and Positioning
break-spaces-001 = preserved white space at the end of line and white-space is break-spaces
  • preserved white space at the end of the line is wrapped when the white-space property is set to break-spaces.
break-spaces-002 = single preserved white space at the end of line with white-space:break-spaces
  • a single preserved white space at the end of the line is not wrapped when the white-space property is set to break-spaces.
break-spaces-051 = CSS Text: inline starting with a collapsible white space
break-spaces-052 = CSS Text: inline starting with a collapsible white space
break-spaces-tab-005 = break-space tabs don't hang
  • a sequence of break-spaces tabs at the end of a line does not hang.
break-spaces-tab-006 = break-spaces tabs and spaces don't hang
  • a sequence of break-spaces tabs and spaces at the end of a line does not hang, and can wrap after each tab or space.
break-spaces-with-ideographic-space-001 = ideographic space at the end of line and white-space is break-spaces
  • ideographic space at the end of the line is wrapped when the white-space property is set to break-spaces.
eol-spaces-bidi-001 = trailing collapsible spaces and bidi
  • Space before a line break is removed even if reordered to the middle of line by bidi reordering
eol-spaces-bidi-002 = trailing pre-wrap spaces and bidi
  • Use UAX9L1 to determine which space is at the end of the line, taking into account that such spaces, when pre-wrap, must hang.
eol-spaces-bidi-003 = = trailing collapsible spaces and bidi
  • Hanging space between OP and D should take paragraph direction and show in the end of the line (blue box to the left)
full-width-leading-spaces-001 = handling leading ideographic space sequence
  • An ideographic space (U+3000) sequence at the beginning of the line must not be collapsed.
full-width-leading-spaces-002 = handling leading ideographic space sequence
  • An ideographic space (U+3000) sequence at the beginning of the line must not be collapsed.
full-width-leading-spaces-003 = handling leading ideographic space sequence
  • An ideographic space (U+3000) sequence at the beginning of the line must not be collapsed.
full-width-leading-spaces-004 = handling trailing ideographic space sequence
  • Ideographic space sequences at the end of line must hang, and therefore not be taken into account for min content sizing.
full-width-leading-spaces-005 = handling leading ideographic space sequence
  • There is a breaking opportunity at the end of a leading ideographic space (U+3000) sequence.
line-break-anywhere-and-white-space-004 = line-break: anywhere and the white-space property
  • The line is wrapped ignoring the white space, which will be removed honoring 'white-space: normal'
line-break-anywhere-and-white-space-005 = line-break: anywhere and the white-space property
  • The line is wrapped ignoring the white space, which will be removed honoring 'white-space: normal'
line-break-anywhere-and-white-space-006 = line-break: anywhere and the white-space property
  • 'line-break: anywhere' can't break a preserved sequence of spaces under 'white-spate: pre-wrap', which should hang instead.
line-break-anywhere-and-white-space-007 = line-break: anywhere and the white-space property
  • 'line-break: anywhere' can't break before the first white-space affter a word under 'white-spate: pre-wrap', which should hang instead.
line-break-anywhere-and-white-space-008 = line-break: anywhere and the white-space property
  • 'line-break: anywhere' allows preserved white spaces at the end of the line, honoring 'white-space: break-spaces'.
line-break-anywhere-and-white-space-009 = line-break: anywhere and the white-space property
  • 'line-break: anywhere' allows breaking before the first character of a preserved white space sequence, honoring 'white-space: break-spaces'.
line-edge-white-space-collapse-001 = White space collapse at end of line collapses through an inline
line-edge-white-space-collapse-002 = White space collapse at start of line collapses through an inline
pre-line-051 = CSS Text: inline starting with a collapsible white space
pre-line-052 = CSS Text: inline starting with a collapsible white space
pre-wrap-001 = preserved white space at the end of and white-space:pre-wrap is not wrapped
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap
pre-wrap-002 = preserved white space at the end of the line and white-space:pre-wrap does not change based on word-break:break-all
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if word-break is break-all
pre-wrap-003 = preserved white space at the end of and white-space:pre-wrap does not change based on word-break:keep-all
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if word-break is keep-all.
pre-wrap-004 = preserved white space at the end of and white-space:pre-wrap does not change based on line-break:loose
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if line-break is loose.
pre-wrap-005 = preserved white space at the end of and white-space:pre-wrap does not change based on line-break:normal
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if line-break is normal.
pre-wrap-006 = preserved white space at the end of and white-space:pre-wrap does not change based on line-break:strict
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if line-break is strict.
pre-wrap-007 = preserved white space at the end of and white-space:pre-wrap does not change based on overflow-wrap:break-word
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if overflow-wrap is break-word.
pre-wrap-011 = preserved white space at the end of and white-space:pre-wrap does not cause wrapping
  • When the white-space property is set to pre-wrap, preserved white space at the end of the line must hang or be collapsed, and must not cause preceeding content to be wrapped.
pre-wrap-012 = preserved white space at the end of soft-wrapped lines and white-space:pre-wrap with right alignement
  • When white-space is pre-wrap, spaces at the end of soft-wrapped lines hang, so they do not have any effect when right-aligning.
pre-wrap-013 = preserved white space at the end of soft-wrapped lines and white-space:pre-wrap with center alignement
  • When white-space is pre-wrap, spaces at the end of soft-wrapped lines hang, so they do not have any effect when centering.
pre-wrap-014 = preserved white space at the end of soft-wrapped lines and white-space:pre-wrap with justification
  • When white-space is pre-wrap, spaces at the end of soft-wrapped lines hang, so they do not have any effect when justifying.
pre-wrap-017 = pre-wrap trailing spaces and max-content
  • When white-space is pre-wrap, trailing spaces spaces are taken into account for max-content
pre-wrap-018 = pre-wrap spaces and centering
  • conditionally hanging white space at the end of lines with forced breaks provides symmetry with the start of the line
pre-wrap-019 = trailing pre-wrap spaces and hanging
  • trailing pre-wrap spaces hang at soft-wrapped lines, and hang conditionally before forced breaks.
pre-wrap-020 = trailing pre-wrap spaces and conditional hanging
  • trailing pre-wrap spaces hang conditionally before forced breaks, which is different from not hanging at all, as it doesn't cause wrapping at earlier opportunities.
pre-wrap-051 = CSS Text: inline starting with a collapsible white space
pre-wrap-052 = CSS Text: inline starting with a collapsible white space
pre-wrap-leading-spaces-001 = breaking opportunities at leading spaces with white-space:pre-wrap
  • Preserved white space at the beginning of the line are breaking opportunities when white-space is pre-wrap.
pre-wrap-leading-spaces-002 = breaking opportunities at leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should be breaking opportunities when white-space is pre-wrap.
pre-wrap-leading-spaces-003 = breaking opportunities at leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should be breaking opportunities when white-space is pre-wrap.
pre-wrap-leading-spaces-004 = forced breaks create preserverd leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should not be collapsed, honoring white-space: pre-wrap.
pre-wrap-leading-spaces-005 = forced breaks create preserverd leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should not be collapsed, honoring white-space: pre-wrap.
pre-wrap-leading-spaces-006 = forced breaks create preserverd leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should not be collapsed, honoring white-space: pre-wrap.
pre-wrap-leading-spaces-007 = forced breaks create preserverd leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should not be collapsed, honoring white-space: pre-wrap.
pre-wrap-leading-spaces-008 = forced breaks create preserverd leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should not be collapsed, honoring white-space: pre-wrap.
pre-wrap-leading-spaces-009 = forced breaks create preserverd leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should not be collapsed, honoring white-space: pre-wrap.
pre-wrap-leading-spaces-010 = forced breaks create preserverd leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should not be collapsed, honoring white-space: pre-wrap.
pre-wrap-leading-spaces-011 = forced breaks create preserverd leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should not be collapsed, honoring white-space: pre-wrap.
pre-wrap-leading-spaces-012 = breaking opportunities at leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should be breaking opportunities when white-space is pre-wrap.
pre-wrap-leading-spaces-013 = breaking opportunities at leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should be breaking opportunities when white-space is pre-wrap.
pre-wrap-leading-spaces-014 = breaking opportunities at leading spaces with white-space:pre-wrap
  • Preserved white space after forced breaks become leading white-spaces and should be breaking opportunities when white-space is pre-wrap.
pre-wrap-leading-spaces-015 = breaking opportunities at leading spaces with white-space:pre-wrap
  • Empty line with preserved white spaces must account for box sizing.
pre-wrap-leading-spaces-016 = breaking opportunities at leading spaces with white-space:pre-wrap
  • Empty line with preserved white spaces must account for box sizing.
pre-wrap-leading-spaces-017 = breaking opportunities at leading spaces with white-space:pre-wrap
  • Empty line with preserved white spaces must account fpor box sizing.
pre-wrap-tab-005 = pre-wrap tabs hang
  • a sequence of pre-wrap tabs at the end of a line hangs.
pre-wrap-tab-006 = pre-wrap tabs and spaces hang
  • a sequence of pre-wrap tabs and spaces at the end of a line hangs.
tab-bidi-001 = Tabs vs. Bidi
  • Tabs segment bidi reordering per UAX9.
tab-min-rendered-width-1 = minimum rendered width of tab character
  • If [rendered width of tab would be] less than 0.5ch, then the subsequent tab stop is used instead.
tab-size-inline-002 = inline box tab-size tab stops
  • tab-stops are calculated separatey for each tab with a different tab-size, not stacked up somehow
tab-stop-threshold-001 = the nearest tab stop is more than 0.5 ch away
  • A preserved tab pushes to the nearest tap stop as long as we're not closer to it than 0.5ch.
tab-stop-threshold-002 = the nearest tab stop is less than 0.5 ch away
  • A preserved tab pushes to the tab stop after the nearest one as long as we're closer to the nearest one than 0.5ch.
tab-stop-threshold-003 = the nearest tab stop is more than 0.5 ch away, white-space:pre-wrap
  • A preserved tab pushes to the nearest tap stop as long as we're not closer to it than 0.5ch, under white-space:pre-wrap
tab-stop-threshold-004 = the nearest tab stop is less than 0.5 ch away, white-space:pre-wrap
  • A preserved tab pushes to the tab stop after the nearest one as long as we're closer to the nearest one than 0.5ch, under white-space:pre-wrap.
tab-stop-threshold-005 = the nearest tab stop is more than 0.5 ch away, white-space:break-spaces
  • A preserved tab pushes to the nearest tap stop as long as we're not closer to it than 0.5ch, under white-space:break-spaces
tab-stop-threshold-006 = the nearest tab stop is less than 0.5 ch away, white-space:break-spaces
  • A preserved tab pushes to the tab stop after the nearest one as long as we're closer to the nearest one than 0.5ch, under white-space:break-spaces.
text-indent-tab-positions-001 = CSS Text testcase - text-indent should not affect tab-stop positions
  • Tab stops occur at points that are multiples of the tab size from the block&#8217;s starting content edge.
text-transform-fullwidth-008 = text-transform:fullwidth and trailing spaces
  • full-width does transforms U+0020 spaces to U+3000 after phase 1, but before phase 2, so that end-of-line transformed spaces get the same treatment as natural ones: hang when white-space is normal.
text-transform-fullwidth-009 = text-transform:fullwidth and trailing spaces, with pre-wrap
  • full-width does transforms U+0020 spaces to U+3000 after phase 1, but before phase 2, so that end-of-line transformed spaces get the same treatment as natural ones: hang at the end of soft-wrapped lines, and conditionally hang before forced breaks when white-space is pre-wrap.
textarea-break-spaces-001 = preserved white space at the end of line is wrapped when white-space is break-spaces in a textarea
  • preserved white space at the end of the line is wrapped when the white-space property is set to break-spaces in a textarea.
textarea-break-spaces-002 = single preserved white space at the end of with white-space:break-spaces in a textarea
  • a single preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap and overflow-wrap is break-spaces in a textarea.
textarea-pre-wrap-001 = preserved white space at the end of and white-space:pre-wrap is not wrapped in a textarea
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap in a textarea
textarea-pre-wrap-002 = preserved white space at the end of and white-space:pre-wrap does not change based on word-break:break-all in a textarea
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if word-break is break-all in a textarea
textarea-pre-wrap-003 = preserved white space at the end of and white-space:pre-wrap does not change based on word-break:keep-all in a textarea
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if word-break is keep-all in a textarea.
textarea-pre-wrap-004 = preserved white space at the end of and white-space:pre-wrap does not change based on line-break:loose in a textarea
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if line-break is loose in a textarea.
textarea-pre-wrap-005 = preserved white space at the end of and white-space:pre-wrap does not change based on line-break:normal in a textarea
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if line-break is normal in a textarea.
textarea-pre-wrap-006 = preserved white space at the end of and white-space:pre-wrap does not change based on line-break:strict in a textarea
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if line-break is strict in a textarea.
textarea-pre-wrap-007 = preserved white space at the end of and white-space:pre-wrap does not change based on overflow-wrap:break-word in a textarea
  • preserved white space at the end of the line is not wrapped when the white-space property is set to pre-wrap, even if overflow-wrap is break-word in a textarea.
textarea-pre-wrap-011 = preserved white space at the end of and white-space:pre-wrap does not cause wrapping in a textarea
  • When the white-space property is set to pre-wrap, preserved white space at the end of the line must hang or be collapsed, and must not cause preceeding content to be wrapped in a textarea.
textarea-pre-wrap-012 = preserved white space at the end of soft-wrapped lines and white-space:pre-wrap with right alignement in a textarea
  • When white-space is pre-wrap, only spaces at the end of soft-wrapped lines get collapsed or hanged, so they do not have any effect when right aligning.
textarea-pre-wrap-013 = preserved white space at the end of soft-wrapped line and white-space:pre-wrap with center alignement in a textarea
  • When white-space is pre-wrap, spaces at the end of soft-wrapped lines get collapsed or hanged, so they do not have any effect when centering.
textarea-pre-wrap-014 = preserved white space at the end of soft-wrapped lines and white-space:pre-wrap with justification in a textarea
  • When white-space is pre-wrap, spaces at the end of a soft-wrapped line get collapsed or hanged, and don't influence justification.
trailing-ideographic-space-001 = ideographic space at the end of line must hang
  • An ideographic space (U+3000) at the end of the line must hang.
trailing-ideographic-space-002 = sequence of spaces and ideographic spaces at the end of line must hang
  • An sequence ideographic space (U+3000) and regular spaces at the end of the line must hang.
trailing-ideographic-space-003 = = preserved ideographic space at the end of line must hang
  • An ideographic space (U+3000) at the end of the line must hang if white-space preserves spaces.
trailing-ideographic-space-004 = = preserved sequences of spaces and ideographic spaces at the end of line must hang
  • An sequence ideographic space (U+3000) and regular spaces at the end of the line must hang if white-space preserves spaces.
trailing-ideographic-space-011 = = handling leading ideographic space sequence
  • Trailing ideographic spaces should hang.
trailing-ideographic-space-012 = = handling leading ideographic space sequence
  • Trailing ideographic spaces should hang.
trailing-ideographic-space-013 = = handling leading ideographic space sequence
  • Trailing ideographic spaces should hang, despite the use of overflow-wrap: break-word.
trailing-ideographic-space-014 = = handling leading ideographic space sequence
  • Trailing ideographic spaces should hang, despite the use of overflow-wrap: anywhere.
trailing-ideographic-space-015 = = handling leading ideographic space sequence
  • Trailing ideographic spaces should hang, despite the use of overflow-wrap: anywhere.
trailing-ideographic-space-016 = = handling leading ideographic space sequence
  • Trailing ideographic spaces should hang, despite the use of overflow-wrap: break-word.
trailing-ideographic-space-017 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-018 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-019 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-020 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'isolate' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-021 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'isolate' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-022 = handling trailing ideographic space sequence
  • Disabled hypenation and unicode-bidi 'isolate' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-023 = handling trailing ideographic space sequence
  • Auto hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-024 = handling trailing ideographic space sequence
  • Auto hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-025 = handling trailing ideographic space sequence
  • Auto hypenation and unicode-bidi 'plaintext' should not affect, hence the trailing ideographic spaces must hang; however, the rest of the sequence is wrapped due to the forced break.
trailing-ideographic-space-break-spaces-001 = Breaking sequences of trailing ideograohic spaces
  • If white-space is set to 'break-spaces', the overflowing idegraphic spaces must wrap to the next line.
trailing-ideographic-space-break-spaces-002 = Breaking sequences of trailing ideograohic spaces
  • If white-space is set to 'break-spaces', the overflowing idegraphic spaces must wrap to the next line.
trailing-ideographic-space-break-spaces-003 = Breaking sequences of trailing ideograohic spaces
  • If white-space is set to 'break-spaces', the overflowing idegraphic spaces must wrap to the next line.
trailing-ideographic-space-break-spaces-004 = Breaking sequences of trailing ideograohic spaces
  • If white-space is set to 'break-spaces', the overflowing idegraphic spaces must wrap to the next line.
trailing-ideographic-space-break-spaces-005 = Breaking sequences of trailing ideograohic spaces
  • If white-space is set to 'break-spaces', the overflowing idegraphic spaces must wrap to the next line.
trailing-ideographic-space-break-spaces-006 = Breaking sequences of trailing ideograohic spaces
  • If white-space is set to 'break-spaces', the overflowing idegraphic spaces must wrap to the next line.
trailing-ideographic-space-break-spaces-007 = Breaking sequences of trailing ideograohic spaces
  • Setting white-space to 'break-spaces', hanging or collapsing the advance width of the spaces is not allowed.
trailing-ideographic-space-break-spaces-008 = Breaking sequences of trailing ideograohic spaces
  • Setting white-space to 'break-spaces' doesn't prevent overflow if the first ideographic space of the sequence doesn't fit, which must hang.
trailing-ogham-001 = trailing ogham spaces
  • tailing collaspible ogham spaces are removed
trailing-ogham-002 = trailing pre-line ogham spaces
  • tailing collaspible (with pre-line) ogham spaces are removed
trailing-ogham-003 = trailing nowrap ogham spaces
  • tailing collaspible (nowrap) ogham spaces are removed
trailing-other-space-separators-001 = sequence of spaces and other space separators at the end of line must hang
  • An sequence of regular spaces and other space separators at the end of the line must hang.
trailing-other-space-separators-002 = sequence of spaces and other space separators at the end of line with white-space:pre-wrap
  • An sequence of regular spaces and other space separators at the end of the line must hang if white-space is pre-wrap.
trailing-other-space-separators-003 = sequence of spaces and other space separators at the end of line, white-space:pre-line
  • An sequence of regular spaces and other space separators at the end of the line must hang, with white-space:pre-line.
trailing-other-space-separators-004 = sequence of spaces and other space separators at the end of line, white-space:nowrap
  • An sequence of regular spaces and other space separators at the end of the line must hang, with white-space:nowrap.
trailing-other-space-separators-break-spaces-001 = Recommend U+1680 at the end of line with white-space:break-spaces
  • U+1680 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-002 = Recommend U+2000 at the end of line with white-space:break-spaces
  • U+2000 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-003 = Recommend U+2001 at the end of line with white-space:break-spaces
  • U+2001 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-004 = Recommend U+2002 at the end of line with white-space:break-spaces
  • U+2002 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-005 = Recommend U+2003 at the end of line with white-space:break-spaces
  • U+2003 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-006 = Recommend U+2004 at the end of line with white-space:break-spaces
  • U+2004 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-007 = Recommend U+2005 at the end of line with white-space:break-spaces
  • U+2005 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-008 = Recommend U+2006 at the end of line with white-space:break-spaces
  • U+2006 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-009 = Recommend U+2007 at the end of line with white-space:break-spaces
  • U+2007 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-010 = Recommend U+2008 at the end of line with white-space:break-spaces
  • U+2008 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-011 = Recommend U+2009 at the end of line with white-space:break-spaces
  • U+2009 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-012 = Recommend U+200A at the end of line with white-space:break-spaces
  • U+200A at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-013 = Recommend U+202F at the end of line with white-space:break-spaces
  • U+202F at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-014 = Recommend U+205F at the end of line with white-space:break-spaces
  • U+205F at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-other-space-separators-break-spaces-015 = Recommend U+3000 at the end of line with white-space:break-spaces
  • U+3000 at the end of the line must not hang or be discarded if white-space is break-spaces. It thus keeps its usual line breaking properties, as defined in UAX14.
trailing-space-before-br-001 Script CSS Text: A sequence of collapsible spaces at the end of a line is removed
trailing-space-position-001 Script Positions of trailing collapsible spaces
trailing-space-rtl-001 = Preserved trailing spaces in RTL
white-space-collapsing-003 = white-space normal: collapsing at line edges
white-space-intrinsic-size-001 = min-content sizing and white-space: break-spaces
  • When white-space is break-spaces, preserved spaces at the end of the line do affect the intrinsic min-content size. Overflow-wrap makes no difference.
white-space-intrinsic-size-002 = max-content sizing and white-space:break-spaces
  • If white-space is break-spaces, preserved spaces at the end of the line do affect the intrinsic max-content size. The value of overflow-wrap makes no difference.
white-space-intrinsic-size-003 = min-content sizing and white-space:pre-wrap
  • Preserved spaces at the end of the line do not affect the intrinsic min-content size when white-space is pre-wrap. The value of overflow-wrap makes no difference.
white-space-intrinsic-size-004 = max-content sizing and white-space: pre-wrap
  • Preserved spaces at the end of the line do affect the intrinsic max-content size when white-space is pre-wrap, as spaces before a forced break, at the end of un unwrapped line, only hanging conditionally, which does not prevent contributing to the max-content size. The value of overflow-wrap makes no difference.
white-space-intrinsic-size-013 = min-content sizing and 'white-space: pre-wrap'
  • When 'white-space' is 'pre-wrap', white spaces at the end of the line are preserved. In this test, the overflowing end-of-line white spaces following the 'A', the 'GH', the 'MNO' and the 'WXYZ' conditionally 'hang' while they do not affect the intrinsic min-content size.
white-space-intrinsic-size-014 = min-content sizing and 'white-space: pre-wrap'
  • When 'white-space' is 'pre-wrap', white spaces at the end of the line are preserved. In this test, the 4 overflowing white spaces following the 'ABCD', following the 'GHIJ', following the 'MNOP' and following the 'WXYZ' conditionally 'hang' while they do not affect the intrinsic min-content size.
white-space-intrinsic-size-015 = min-content sizing and 'white-space: pre'
  • When 'white-space' is 'pre', preserved white spaces at the end of the line affect the intrinsic min-content size.
white-space-intrinsic-size-016 = min-content sizing and 'white-space: pre'
  • When 'white-space' is 'pre', preserved white spaces at the end of the line affect the intrinsic min-content size. Overflow-wrap makes no difference.
white-space-intrinsic-size-017 = max-content sizing and 'white-space: pre-wrap'
  • When 'white-space' is 'pre-wrap', preserved white spaces at the beginning and at the end of the line affect the intrinsic max-content size.
white-space-intrinsic-size-018 = max-content sizing and 'white-space: pre'
  • When 'white-space' is 'pre', preserved white spaces at the beginning and at the end of the line affect the intrinsic max-content size.
white-space-intrinsic-size-019 = min-content sizing and 'white-space: pre-line'
  • When 'white-space' is 'pre-line', sequence of white spaces are collapsed into 1 white space, the tabs are converted into a single white space and then the white spaces at the end of the line are removed.
white-space-intrinsic-size-020 = min-content sizing and 'white-space: pre-line'
  • When 'white-space' is 'pre-line', sequence of white spaces are collapsed into 1 white space, the tabs are converted into a single white space and then the white spaces at the end of the line are removed.
white-space-normal-001 = Ahem white-space normal: simple tests
white-space-normal-002 = Ahem white-space normal: simple tests
white-space-pre-051 = CSS Text: inline starting with a collapsible white space
white-space-pre-052 = CSS Text: inline starting with a collapsible white space
white-space-pre-wrap-trailing-spaces-001 = alignement and trailing spaces with white-space:pre-wrap
  • Preserved white space with pre-wrap at the end of a line ending with a forced line break conditionally hangs, so it does affect alignment.
white-space-pre-wrap-trailing-spaces-002 = intrinsic maximum sizing and alignment of trailing spaces with white-space:pre-wrap
  • Preserved white space with white-space is pre-wrap at the end of the line before a forced-break only hangs conditionally, and therefore is included in the max-content size, and taken into account for alignemnt (since it doesn't actually hang in this situation).
white-space-pre-wrap-trailing-spaces-003 = intrinsic minimum sizing of trailing spaces with white-space:pre-wrap
  • Preserved white space at the end of soft-wrapped lines is hanged when white-space is pre-wrap, and therefore does not count when computing the (minimum) intrinsic size.
white-space-pre-wrap-trailing-spaces-004 = = hanging trailing spaces with white-space:pre-wrap
  • Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.
white-space-pre-wrap-trailing-spaces-005 = hanging trailing spaces with white-space:pre-wrap
  • Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.
white-space-pre-wrap-trailing-spaces-006 = hanging trailing spaces with white-space:pre-wrap
  • Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.
white-space-pre-wrap-trailing-spaces-007 = hanging trailing spaces with white-space:pre-wrap
  • Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.
white-space-pre-wrap-trailing-spaces-008 = hanging trailing spaces with white-space:pre-wrap
  • Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.
white-space-pre-wrap-trailing-spaces-010 = hanging trailing spaces with white-space:pre-wrap
  • Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.
white-space-pre-wrap-trailing-spaces-011 = hanging trailing spaces with white-space:pre-wrap
  • Preserved white space at the end of a soft-wrapped line is hanged when white-space is pre-wrap.
white-space-pre-wrap-trailing-spaces-012 = = hanging trailing spaces with white-space:pre-wrap
  • Previous breaking opportunities are not considered if the overflow is caused by hanging trailing spaces.
white-space-pre-wrap-trailing-spaces-013 = = hanging trailing spaces with white-space:pre-wrap
  • Previous breaking opportunities are not considered if the overflow is caused by hanging trailing spaces.
white-space-pre-wrap-trailing-spaces-014 = = hanging trailing spaces with white-space:pre-wrap
  • Previous breaking opportunities are not considered if the overflow is caused by hanging trailing spaces.
white-space-pre-wrap-trailing-spaces-015 = = hanging trailing spaces with white-space:pre-wrap
  • Previous breaking opportunities are not considered if the overflow is caused by hanging trailing spaces.
white-space-processing-037 = Ahem White-space 'normal' and space at beginning of line
  • Space at beginning of line is removed when 'white-space' is set to 'normal'.
white-space-processing-038 = Ahem White-space 'nowrap' and space at beginning of line
  • Space at beginning of line is removed when 'white-space' is set to 'nowrap'.
white-space-processing-039 = Ahem White-space 'pre-line' and space at beginning of line
  • Space at beginning of line is removed when 'white-space' is set to 'pre-line'.
white-space-processing-040 = Ahem White-space 'pre-wrap' and space at beginning of line
  • Space at beginning of line is not removed when 'white-space' is set to 'pre-wrap'.
white-space-processing-041 = Ahem White-space 'pre' and space at beginning of line
  • Space at beginning of line is not removed when 'white-space' is set to 'pre'.
white-space-processing-042 = Ahem Tab width
  • Tabs (when rendered) render spaces at 8 character stops. That is, within a line, split the line into 8 character lengths. The tab would continue until the end of the next length. So if there are already 3 characters in a line, the tab would be rendered as 5 spaces.
white-space-processing-043 = Ahem White-space 'normal' and space at end of line
  • Space is removed at the end of the line when 'white-space' is set to 'normal'.
white-space-processing-044 = Ahem White-space 'nowrap' and space at end of line
  • Space is removed at the end of the line when 'white-space' is set to 'nowrap'.
white-space-processing-045 = Ahem White-space 'pre-line' and space at end of line
  • Space is removed at the end of the line when 'white-space' is set to 'pre-line'.
white-space-processing-046 = Ahem White-space 'pre' and space at end of line
  • Space is not removed at the end of the line when 'white-space' is set to 'pre'.
white-space-processing-047 = Ahem White-space 'pre-wrap' and space at end of line
  • Space is not removed at the end of the line when 'white-space' is set to 'pre-wrap'.
word-break-keep-all-007 = word-break keep-all + pre-wrap does not affect U+3000
  • U+3000, despite being called Ideographic Space, does not belong to the ID line breaking class, or any other class whose wrapping opportunities are suppressed by word-break:keep-all. A break after it should still be allowed. white-space:pre-wrap doesn't change that.
word-break-keep-all-008 = word-break keep-all + break-spaces does not affect U+3000
  • U+3000, despite being called Ideographic Space, does not belong to the ID line breaking class, or any other class whose wrapping opportunities are suppressed by word-break:keep-all. A break after it should still be allowed. white-space:break-spaces doesn't change that.
+ 4.1.3 Segment Break Transformation Rules
seg-break-transformation-000.tentative Script Whitespace and line break transformation
  • All spaces and tabs immediately preceding or following a segment break are removed. If no F, H, W or ZWSP characters involved, the segment break is converted to a space.
seg-break-transformation-001.tentative Script Wide characters around line break
  • If the East Asian Width property of both the character before and after the line feed is W and neither side is Hangul, then the segment break is removed.
seg-break-transformation-002.tentative Script Fullwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F and neither side is Hangul, then the segment break is removed.
seg-break-transformation-003.tentative Script Halfwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is H and neither side is Hangul, then the segment break is removed.
seg-break-transformation-004.tentative Script Won and halfwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F or H and neither side is Hangul, then the segment break is removed.
seg-break-transformation-005.tentative Script Wide character and non-wide character around line break
  • If the East Asian Width property of only one character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is converted to a space.
seg-break-transformation-006.tentative Script Fullwidth character and non-fullwidth character around line break
  • If the East Asian Width property of only one character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is converted to a space.
seg-break-transformation-007.tentative Script Halfwidth character and non-halfwidth character around line break
  • If the East Asian Width property of only one character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is converted to a space.
seg-break-transformation-008.tentative Script Wide and fullwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed.
seg-break-transformation-009.tentative Script Fullwidth and halfwidth characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed.
seg-break-transformation-010.tentative Script Hangul characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-011.tentative Script Hangul jamo characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-012.tentative Script Hangul halfwidth jamo characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-014.tentative Script Thai characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-015.tentative Script Thai and Latin characters around line break
  • If the East Asian Width property of both the character before and after the line feed is F, W or H and neither side is Hangul, then the segment break is removed. Otherwise, the segment break is converted to a space.
seg-break-transformation-016.tentative Script Thai with ZWSP before line break
  • If the character immediately before or immediately after the segment break is the zero-width space character (U+200B), then the break is removed, leaving behind the zero-width space.
seg-break-transformation-017.tentative Script Thai with ZWSP after line break
  • If the character immediately before or immediately after the segment break is the zero-width space character (U+200B), then the break is removed, leaving behind the zero-width space.
seg-break-transformation-018.tentative = inline element boundary and segment break transformations
  • intervening inline box boundaries must be ignored for segment break transformations
seg-break-transformation-019.tentative = out of flow elements and segment break transformations
  • Out-of-flow elements must be ignored for segment break transformations
segment-break-transformation-removable-1 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a collapsible segment break should be removed correctly, if the character immediately before/after the segment break is the zero-width space character (U+200B), or both the character before/after the segment break is F, W, or H (not A), and neither side is Hangul.
segment-break-transformation-removable-2 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that multiple segment breaks should be removed correctly, if the character immediately before/after the segment breaks is the zero-width space character (U+200B), or both the character before/after the segment breaks is F, W, or H (not A), and neither side is Hangul.
segment-break-transformation-removable-3 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a sequence which consists of a collapsible segment break surrounded by multiple white spaces should be removed correctly, if the character immediately before/after the sequence is the zero-width space character (U+200B), or both the character before/after the sequence is F, W, or H (not A), and neither side is Hangul.
segment-break-transformation-removable-4 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a sequence which consists of multiple collapsible segment breaks mixed with multiple white spaces should be removed correctly, if the character immediately before/after the sequence is the zero-width space character (U+200B), or both the character before/after the sequence is F, W, or H (not A), and neither side is Hangul.
segment-break-transformation-rules-001 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-002 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-003 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-004 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-005 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-006 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-007 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Full-width (F)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-008 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-009 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-010 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-011 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-012 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-013 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-014 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Half-width (H)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-015 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-016 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-017 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-018 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-019 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-020 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-021 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Wide (W) except Hangul/Hangul in front/back of the semgment break.
segment-break-transformation-rules-022 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-023 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-024 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-025 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-026 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-027 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-028 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Narrow (Na)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-029 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-030 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-031 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-032 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-033 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-034 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-035 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with East Asian Ambiguous (A)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-036 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-037 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-038 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-039 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-040 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-041 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-042 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Not East Asian (Neutral)/Hangul in front/back of the semgment break.
segment-break-transformation-rules-043 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Full-width (F) in front/back of the semgment break.
segment-break-transformation-rules-044 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Half-width (H) in front/back of the semgment break.
segment-break-transformation-rules-045 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Wide (W) except Hangul in front/back of the semgment break.
segment-break-transformation-rules-046 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Narrow (Na) in front/back of the semgment break.
segment-break-transformation-rules-047 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/East Asian Ambiguous (A) in front/back of the semgment break.
segment-break-transformation-rules-048 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/Not East Asian (Neutral) in front/back of the semgment break.
segment-break-transformation-rules-049 = Segment Break Transformation Rules
  • 'segment-break-transformation-rules: with Hangul/Hangul in front/back of the semgment break.
segment-break-transformation-unremovable-1 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a collapsible segment break should be converted to a white space (U+0020), if both the character before/after the segment break is Hangul.
segment-break-transformation-unremovable-2 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that multiple segment breaks should be converted to a white space (U+0020), if both the character before/after the segment breaks is Hangul.
segment-break-transformation-unremovable-3 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a sequence which consists of a collapsible segment break surrounded by multiple white spaces should be converted to a white space (U+0020), if both the character before/after the sequence is Hangul.
segment-break-transformation-unremovable-4 = CSS Text 4.1.2. Segment Break Transformation Rules
  • Test checks that a sequence which consists of multiple collapsible segment breaks mixed with multiple white spaces should be converted to a white space (U+0020), if both the character before/after the sequence is Hangul.
white-space-008 = white-space - pre and newlines in source
  • Newlines in source must be preserved with 'white-space: pre'
white-space-collapse-000 Script White space collapse
  • Every tab is converted to a space. Any space immediately following another collapsible space is collapsed to have zero advance width.
white-space-collapse-001 Script White space and non-ASCII spaces
  • Any space immediately following another collapsible space is collapsed to have zero advance width. Only refers to U+0020, not other Unicode spaces.
white-space-collapse-002 Script Whitespace and bidi control characters
  • All spaces and tabs immediately preceding or following a segment break are removed, ignoring bidi formatting characters as if they were not there.
white-space-processing-014 = AhemOptional White-space 'normal' and linefeed characters
  • Linefeed characters are transformed into spaces, zero-width space, or not rendered when 'white-space' is set to 'normal'. Under css-text-3 rules, they must be transformed into spaces
white-space-processing-015 = Ahem White-space 'nowrap' and linefeed characters
  • Linefeed characters are transformed into spaces, zero-width space, or not rendered when 'white-space' is set to 'nowrap'.
white-space-processing-016 = Ahem White-space 'pre' and linefeed characters
  • Linefeed characters are not transformed when 'white-space' is set to 'pre'.
white-space-processing-017 = Ahem White-space 'pre-line' and linefeed characters
  • Linefeed characters are not transformed when 'white-space' is set to 'pre-line'.
white-space-processing-018 = Ahem White-space 'pre-wrap' and linefeed characters
  • Linefeed characters are not transformed when 'white-space' is set to 'pre-wrap'.
writing-system-segment-break-001 = writing system and segment break transformation
  • If the writing system of the segment break is Chinese, Japanese, or Yi, and the character before or after the segment break is punctuation or a symbol (Unicode general category P* or S*) and has an East Asian Width property of A or is Emoji, and the character on the other side of the segment break is F, W, or H, and not Hangul or Emoji, then the segment break is removed.
+ 4.2 Tab Character Size: the tab-size property
active-selection-063 = active selection and consecutive preserved &Tab;
  • In this test, tab characters are preserved and converted into 4 consecutive blank spaces. The background of such blank spaces can be painted. The lines are broken after each tab character since 'white-space: pre' preserves line breaks.
calc-numbers InvalidScript computed value of 'tab-size' and 'opacity' when specified with calc() function
  • This test verifies how 11 calc() functions are computed for 'opacity' and 'tab-size'.
tab-size Script CSS value type of the CSS property 'tab-size'
tab-size-computed-value-001 Script computed value of 'tab-size'
  • This test checks that the computed value of 'tab-size' is a number when it is specified as such or is a length (absolute or relative) when it is specified as such.
tab-size-inheritance-001 = tab-size in lengths inherit as absolute lengths
  • tab-size in lengths inherit as absolute lengths
tab-size-inline-001 = inline box tab-size
  • tab-size applies to inline boxes
tab-size-inline-002 = inline box tab-size tab stops
  • tab-stops are calculated separatey for each tab with a different tab-size, not stacked up somehow
tab-size-interpolation Script
tab-size-spacing-001 = tab-size, word-spacing and letter-spacing
  • For the tab-size property, a <number> represents the measure as a multiple of the space character&#8217;s advance width (U+0020) including its associated letter-spacing and word-spacing
tab-stop-threshold-001 = the nearest tab stop is more than 0.5 ch away
  • A preserved tab pushes to the nearest tap stop as long as we're not closer to it than 0.5ch.
tab-stop-threshold-002 = the nearest tab stop is less than 0.5 ch away
  • A preserved tab pushes to the tab stop after the nearest one as long as we're closer to the nearest one than 0.5ch.
tab-stop-threshold-003 = the nearest tab stop is more than 0.5 ch away, white-space:pre-wrap
  • A preserved tab pushes to the nearest tap stop as long as we're not closer to it than 0.5ch, under white-space:pre-wrap
tab-stop-threshold-004 = the nearest tab stop is less than 0.5 ch away, white-space:pre-wrap
  • A preserved tab pushes to the tab stop after the nearest one as long as we're closer to the nearest one than 0.5ch, under white-space:pre-wrap.
tab-stop-threshold-005 = the nearest tab stop is more than 0.5 ch away, white-space:break-spaces
  • A preserved tab pushes to the nearest tap stop as long as we're not closer to it than 0.5ch, under white-space:break-spaces
tab-stop-threshold-006 = the nearest tab stop is less than 0.5 ch away, white-space:break-spaces
  • A preserved tab pushes to the tab stop after the nearest one as long as we're closer to the nearest one than 0.5ch, under white-space:break-spaces.
marker-tab-size = ::marker supports 'tab-size'
  • Checks that ::marker supports 'tab-size', both explicitly set or inherited from an ancestor
tab-size-computed Script CSS Text: getComputedStyle().tabSize
  • tab-size computed value is the specified number or an absolute length.
tab-size-invalid Script parsing tab-size with invalid values
  • tab-size supports only the grammar '<number> | <length>'.
  • Negative tab-size values are not allowed.
tab-size-valid Script parsing tab-size with valid values
  • tab-size supports the full grammar '<number> | <length>'.
tab-size-integer-001 = tab-size: 4
  • Tab should be rendered as 4 times the space character&#8217;s advance width (U+0020)
tab-size-integer-002 = tab-size: -4
  • Tab-size negative values are not allowed
tab-size-integer-003 = tab-size: 0
  • Tab should be rendered as 0 times the space character&#8217;s advance width (U+0020)
tab-size-integer-004 = tab-size: bloc container
  • Integer tab sizes are based on the nearest block container ancestor, not on the tab itself
tab-size-length-001 = tab-size: 1em
  • Tab should be rendered as 1em (20px)
tab-size-length-002 = tab-size: -1em
  • Tab-size negative length values are not allowed
tab-size-percent-001 = tab-size: 100%
  • Tab-size percentage values are not allowed