CSS Pseudo-Elements Module Level 4 Test Suite

Tree-Abiding Pseudo-elements (76 tests)

Test Refs Flags Info
+ 4 Tree-Abiding Pseudo-elements
text-selection Text selection
  • This test checks that text in a ::before or ::marker pseudo-element can't be selected.
tree-abiding-pseudo-elements Script Parsing tree-abiding pseudo-elements
  • This test checks the validity of various selectors containing tree-abiding pseudo-elements.
marker-inherit-line-height = Check that :marker inherits line-height
+ 4.1 Generated Content Pseudo-elements: ::before and ::after
before-dynamic-display-none = ::before box removed when display set to 'none'.
first-line-with-before-after = ::before and ::after styles should apply inside ::first-line
first-line-with-inline-block-before = inline block ::before styles should apply inside ::first-line
+ 4.2 List Markers: the ::marker pseudo-element
first-line-and-marker = Interaction of ::first-line and ::marker
  • Tests ::marker interaction with ::first-line pseudo element
marker-and-other-pseudo-elements = ::marker interaction with ::before, ::after, and ::first-letter pseudo elements
  • Tests ::marker interaction with ::before, ::after, and ::first-letter pseudo elements
marker-animate Reverted styles for ::marker
  • This test checks that ::marker can be animated with Web Animations, but only the supported properties.
marker-animate-002 = A Web Animations only apply to restricted properties on ::marker pseudo-elements
marker-color = ::marker formatting with color property
  • Tests ::marker rendering with color property
marker-computed-content Computed size of ::marker
  • This test checks that 'content' resolves correctly in ::marker.
marker-computed-size Computed size of ::marker
  • This test checks that getComputedStyle exposes the resolved sizes of a ::marker.
marker-content-001 = ::marker pseudo elements styled with 'content' property
marker-content-001b = ::marker pseudo elements styled with 'content' property
marker-content-001c = ::marker pseudo elements styled with 'content' property
marker-content-002 = ::marker pseudo elements styled with 'content' property
marker-content-003 = ::marker pseudo elements styled with 'content' property and display:grid
marker-content-003b = ::marker pseudo elements styled with 'content' property and display:inline-grid
marker-content-004 = ::marker pseudo elements styled with 'content' property and display:flex
marker-content-005 = ::marker pseudo elements styled with 'content' property
marker-content-006 = ::marker pseudo elements styled with 'content' property
marker-content-007.tentative = ::marker pseudo elements styled with 'content' property and display:inline-grid
marker-content-008.tentative = ::marker pseudo elements styled with 'content' property
marker-content-009.tentative = ::marker pseudo elements styled with 'content' property
marker-content-010 = = ::marker pseudo elements styled with 'content' property
marker-content-011.tentative = ::marker pseudo elements styled with 'content' property
marker-content-012 = ::marker pseudo elements styled with 'content' property
  • Checks that ::marker's 'content' takes precendence over 'list-style-type' and 'list-style-image'
marker-content-013 = ::marker pseudo elements styled with 'content' property
  • Checks that ::marker is updated when 'list-style-position' changes dynamically.
marker-content-014 = ::marker pseudo elements styled with 'content' property
  • Checks that viewport units in ::marker are recalculated when viewport size changes.
marker-content-015 = ::marker pseudo elements styled with 'content' property
  • Checks that the position of a ::marker originated by a <li> which is not in a list is not affected by the 'content' property.
marker-content-016 = ::marker pseudo elements styled with 'content' property
  • Checks that the 'content' property of a ::marker doesn't affect the propagation of text decorations.
marker-content-017 = ::marker pseudo elements styled with 'content' property
  • Checks that ::marker can be created inside a non-replaced <img>.
marker-content-018 = ::marker pseudo elements styled with 'content' property
  • Checks that the 'content' property of a ::marker doesn't affect white space.
marker-content-019 = ::marker pseudo elements styled with 'content' property
  • Checks that the 'content: none' hides the ::marker.
marker-content-020 = ::marker pseudo elements styled with 'content' property
  • Checks that the ::marker is updated when 'content: none' is applied or unapplied dynamically.
marker-content-021 = ::marker pseudo elements styled with 'content' property
  • Checks that non-normal ::marker is not updated when 'list-style-type' changes dynamically.
marker-content-022 = ::marker pseudo elements styled with 'content' property
  • When a list item with an outside marker only has an inline child with a block grandchild, some browsers insert a newline between the marker and the block, and some don't. It's not clear what should happen, but this test checks that the behavior is consistent whether the block is inserted dynamically or was there from the beginning.
marker-content-023 = ::marker pseudo elements styled with 'content' property
  • Checks that 'text-indent' doesn't apply nor inherit to ::marker.
marker-content-024 = ::marker pseudo elements styled with 'content' property
  • Checks ::marker in a multi-column can have emphasis marks and doesn't crash when made editable.
marker-default-styles Default styles for ::marker
  • This test checks that ::marker gets assigned some styles in UA origin.
marker-display-computed Supported properties in ::marker
  • This test checks the computed 'display' value of ::marker pseudo-elements.
marker-display-dynamic-001 = ::marker is created dynamically properly
marker-font-properties = ::marker formatting with font properties
  • Tests ::marker rendering with font properties
marker-font-variant-numeric-default = ::marker has 'font-variant-numeric: tabular-nums' by default
  • Checks that the markers have the same width thanks to 'font-variant-numeric: tabular-nums', and thus the black boxes are perfectly aligned
marker-font-variant-numeric-normal = ::marker accepts 'font-variant-numeric: normal'
  • Checks that the marker default 'font-variant-numeric: tabular-nums' can be overridden with 'font-variant-numeric: normal'
marker-hit-testing Hit testing ::marker
  • This test checks that hit-testing a ::marker, the APIs provide the nearest element ancestor.
marker-hyphens = ::marker supports 'hyphens'
  • Checks that ::marker supports 'hyphens', both explicitly set or inherited from an ancestor
marker-inherit-line-height = Check that :marker inherits line-height
marker-inherit-values = ::marker inherits values from originating element
  • Tests ::marker inherits values from originating element
marker-intrinsic-contribution-001 intrinsic contribution of ::marker
  • Checks that that outside markers have an intrinsic contribution of 0, and inside markers greater than 0.
marker-intrinsic-contribution-002 = intrinsic contribution of ::marker
  • Checks that that the intrinsic contribution of a ::marker is updated when 'list-style-position' changes.
marker-letter-spacing = = ::marker supports 'letter-spacing'
  • Checks that ::marker supports 'letter-spacing', both explicitly set or inherited from an ancestor
marker-line-break = ::marker supports 'line-break'
  • Checks that ::marker supports 'line-break', both explicitly set or inherited from an ancestor
marker-line-height = ::marker supports 'line-height'
  • Checks that ::marker supports 'line-height', both explicitly set or inherited from an ancestor
marker-list-style-position = = ::marker pseudo elements styled with 'list-style-position' property
  • It's the list-style-position on the list item element that decides where its ::marker is placed, not the value on the ::marker itself.
marker-overflow-wrap = ::marker supports 'overflow-wrap'
  • Checks that ::marker supports 'overflow-wrap', both explicitly set or inherited from an ancestor
marker-reverted-styles Reverted styles for ::marker
  • This test checks that ::marker styles can be reverted to UA origin.
marker-supported-properties Script Supported properties in ::marker
  • This test checks that only certain properties apply to ::marker pseudo-elements.
marker-supported-properties-in-animation Script Supported properties in ::marker animations
  • This test checks ::marker supports animations and transitions, but only for the properties that apply to ::marker.
marker-tab-size = ::marker supports 'tab-size'
  • Checks that ::marker supports 'tab-size', both explicitly set or inherited from an ancestor
marker-text-align = ::marker pseudo elements styled with 'text-align' property
  • Checks that 'text-align' doesn't apply nor inherit to ::marker.
marker-text-combine-upright = ::marker supports 'text-combine-upright'
  • Checks that 'text-combine-upright' works well in ::marker, and doesn't crash.
marker-text-decoration-skip-ink = ::marker supports 'text-decoration-skip-ink'
  • Checks that ::marker supports 'text-decoration-skip-ink', both explicitly set or inherited from an ancestor
marker-text-emphasis = ::marker supports 'text-emphasis'
  • Checks that ::marker supports 'text-emphasis', both explicitly set or inherited from an ancestor
marker-text-shadow = ::marker supports 'text-shadow'
  • Checks that ::marker supports 'text-shadow', both explicitly set or inherited from an ancestor
marker-text-transform-default = ::marker has 'text-transform: none' by default
  • Checks that ::marker does not inherit the text-transform of the list item
marker-text-transform-uppercase = ::marker accepts 'text-transform: uppercase'
  • Checks that the marker default 'text-transform: none' can be overridden with 'text-transform: uppercase'
marker-unicode-bidi-default = ::marker has 'unicode-bidi: isolate' by default
  • Checks that the markers are isolated from the list items by the bidi algorithm
marker-unicode-bidi-normal = ::marker accepts 'unicode-bidi: normal'
  • Checks that the marker default 'unicode-bidi: isolate' can be overridden with 'unicode-bidi: normal'
marker-word-break = ::marker supports 'word-break'
  • Checks that ::marker supports 'word-break', both explicitly set or inherited from an ancestor
marker-word-spacing = ::marker supports 'word-spacing'
  • Checks that ::marker supports 'word-spacing', both explicitly set or inherited from an ancestor
outside-marker-paint-order = CSS Pseduo: painting order of outside ::marker box
+ 4.3 Placeholder Input: the ::placeholder pseudo-element
first-line-and-placeholder = Interaction of ::first-line and ::placeholder
  • Tests ::placeholder interaction with ::first-line pseudo element
placeholder-excluded-properties = ::placeholder should not support 'writing-mode', 'direction', and 'text-orientation'
placeholder-input-number ::placeholder applies to input type="number"
placeholder-opacity-default.tentative Script opacity default value
+ 4.4 File Selector Button: the ::file-selector-button pseudo-element