Status: FAIL | Duration: 82ms | Subtests: 2/24 | Open test on wpt.live | wpt.fyi
Data from commit:
a50cb89 wpt: run reference-named files which are themselves tests (#836) (2026-09-03)
| Subtest | Status | Message |
|---|---|---|
| INPUT text | FAIL | assert_equals: Child and pseudo sizes should match expected "300px" but got "0px" |
| INPUT date | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT time | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT datetime-local | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT checkbox | FAIL | assert_equals: Child and pseudo sizes should match expected "14px" but got "0px" |
| INPUT radio | FAIL | assert_equals: Child and pseudo sizes should match expected "14px" but got "0px" |
| INPUT file | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT range | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT color | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT hidden | PASS | |
| INPUT search | FAIL | assert_equals: Child and pseudo sizes should match expected "300px" but got "0px" |
| VIDEO | FAIL | assert_equals: Child and pseudo sizes should match expected "300px" but got "0px" |
| VIDEO | FAIL | assert_equals: Child and pseudo sizes should match expected "300px" but got "0px" |
| INPUT appearance: none; checkbox | FAIL | assert_equals: Child and pseudo sizes should match expected "14px" but got "0px" |
| INPUT appearance: none; radio | FAIL | assert_equals: Child and pseudo sizes should match expected "14px" but got "0px" |
| INPUT appearance: none; text | FAIL | assert_equals: Child and pseudo sizes should match expected "300px" but got "0px" |
| INPUT appearance: none; date | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT appearance: none; time | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT appearance: none; datetime-local | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT appearance: none; file | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT appearance: none; range | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT appearance: none; color | FAIL | assert_equals: Should only generate a box for appearance: none checkboxes/radio buttons expected false but got true |
| INPUT appearance: none; hidden | PASS | |
| INPUT appearance: none; search | FAIL | assert_equals: Child and pseudo sizes should match expected "300px" but got "0px" |
/css/css-pseudo/pseudo-replaced-elements.html
<!doctype html> <meta charset="utf-8"> <link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez"> <link rel="author" href="https://mozilla.org" title="Mozilla"> <link rel="help" href="https://issues.chromium.org/issues/365052666"> <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1911253"> <link rel="help" href="https://drafts.csswg.org/css-pseudo/#generated-content"> <!-- https://drafts.csswg.org/css-pseudo/#generated-content: Also as with regular child elements, the ::before and ::after pseudo-elements are suppressed when their parent, the originating element, is replaced. --> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <title>Replaced elements don't generate before / after CSS pseudo-elements</title> <style> input::before, video::before, progress::before { content: "X"; display: block; /* Not resolvable if box is not generated */ width: 10%; } span { display: block; /* Not resolvable if box is not generated */ width: 10%; } </style> <input type=text> <input type=date> <input type=time> <input type=datetime-local> <input type=checkbox> <input type=radio> <input type=file> <input type=range> <input type=color> <input type=hidden> <input type=search> <video controls></video> <video></video> <progress></progress> <!-- These are special since they are no longer replaced with appearance: none --> <input style="appearance: none" type=checkbox> <input style="appearance: none" type=radio> <!-- These are not special --> <input style="appearance: none" type=text> <input style="appearance: none" type=date> <input style="appearance: none" type=time> <input style="appearance: none" type=datetime-local> <input style="appearance: none" type=file> <input style="appearance: none" type=range> <input style="appearance: none" type=color> <input style="appearance: none" type=hidden> <input style="appearance: none" type=search> <progress></progress> <script> for (let element of document.querySelectorAll("input, video")) { test(function() { const child = element.appendChild(document.createElement("span")); const childWidth = getComputedStyle(child).width; const hasChildBox = childWidth.endsWith("px"); const pseudoWidth = getComputedStyle(element, "::before").width; const hasPseudoBox = pseudoWidth.endsWith("px"); assert_equals(hasChildBox, hasPseudoBox, "Should only generate a box for pseudo-elements if it generates a box for child elements"); if (hasChildBox || hasPseudoBox) { assert_equals(childWidth, pseudoWidth, "Child and pseudo sizes should match"); } const expectedBox = element.style.appearance == "none" && (element.type == "checkbox" || element.type == "radio"); assert_equals(hasPseudoBox, expectedBox, "Should only generate a box for appearance: none checkboxes/radio buttons"); }, `${element.tagName} ${element.style.cssText} ${element.type || element.controls || ""}`); } </script>