Status: FAIL | Duration: 76ms | Subtests: 7/34 | 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 |
|---|---|---|
| SVG Geometry Properties: getComputedStyle().width, <rect> initial | PASS | |
| SVG Geometry Properties: getComputedStyle().width, <rect> presentation attribute | FAIL | assert_equals: presentation attribute expected "100px" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <rect> inline style (percentage) | FAIL | assert_equals: inline style (percentage) expected "80px" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <rect> inline style (auto) | PASS | |
| SVG Geometry Properties: getComputedStyle().width, <rect> inline style (pixels) | FAIL | assert_equals: inline style (pixels) expected "20px" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <rect> inline style but "display: none" | PASS | |
| SVG Geometry Properties: getComputedStyle().width, <image> initial | PASS | |
| SVG Geometry Properties: getComputedStyle().width, <image> presentation attribute | FAIL | assert_equals: presentation attribute expected "100px" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <image> inline style (percentage) | FAIL | assert_equals: inline style (percentage) expected "50px" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <image> inline style (auto) | PASS | |
| SVG Geometry Properties: getComputedStyle().width, <image> inline style (pixels) | FAIL | assert_equals: inline style (pixels) expected "230px" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <image> inline style but "display: none" | PASS | |
| SVG Geometry Properties: getComputedStyle().width, <foreignObject> initial | FAIL | getComputedStyle: argument is not an Element |
| SVG Geometry Properties: getComputedStyle().width, <foreignObject> presentation attribute | FAIL | getComputedStyle: argument is not an Element |
| SVG Geometry Properties: getComputedStyle().width, <foreignObject> inline style (percentage) | FAIL | getComputedStyle: argument is not an Element |
| SVG Geometry Properties: getComputedStyle().width, <foreignObject> inline style (auto) | FAIL | getComputedStyle: argument is not an Element |
| SVG Geometry Properties: getComputedStyle().width, <foreignObject> inline style (pixels) | FAIL | getComputedStyle: argument is not an Element |
| SVG Geometry Properties: getComputedStyle().width, <foreignObject> inline style but "display: none" | FAIL | getComputedStyle: argument is not an Element |
| SVG Geometry Properties: getComputedStyle().width, <svg> initial | FAIL | assert_equals: initial expected "auto" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <svg> presentation attribute | FAIL | assert_equals: presentation attribute expected "auto" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <svg> inline style (auto) | FAIL | assert_equals: inline style (auto) expected "auto" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <svg> inline style (pixels) | FAIL | assert_equals: inline style (pixels) expected "200px" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <svg> inline style (percentage) | FAIL | assert_equals: inline style (percentage) expected "50%" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <svg> inline style but "display: none" | PASS | |
| SVG Geometry Properties: getComputedStyle().width, <g> initial | FAIL | assert_equals: initial expected "auto" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <g> initial (with dummy attribute) | FAIL | assert_equals: initial (with dummy attribute) expected "auto" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <g> inline style (percentage) | FAIL | assert_equals: inline style (percentage) expected "10%" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <g> inline style (auto) | FAIL | assert_equals: inline style (auto) expected "auto" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <g> inline style (pixels) | FAIL | assert_equals: inline style (pixels) expected "20px" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <text> initial | FAIL | assert_equals: initial expected "auto" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <text> initial (with dummy attribute) | FAIL | assert_equals: initial (with dummy attribute) expected "auto" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <text> inline style (percentage) | FAIL | assert_equals: inline style (percentage) expected "30%" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <text> inline style (auto) | FAIL | assert_equals: inline style (auto) expected "auto" but got "0px" |
| SVG Geometry Properties: getComputedStyle().width, <text> inline style (pixels) | FAIL | assert_equals: inline style (pixels) expected "20px" but got "0px" |
/svg/geometry/parsing/width-computed.svg
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml"> <title>SVG Geometry Properties: getComputedStyle().width</title> <metadata> <h:link rel="help" href="https://w3c.github.io/svgwg/svg2-draft/geometry.html#Sizing"/> <h:link rel="help" href="https://drafts.csswg.org/cssom/#resolved-values"/> </metadata> <h:script src="/resources/testharness.js"/> <h:script src="/resources/testharnessreport.js"/> <svg width="200" height="100" id="test-content"> <rect/> <rect width="100" height="200"/> <rect height="42" style="width: 40%"/> <rect height="42" style="width: auto"/> <rect height="42" style="width: 20px"/> <rect height="42" style="width: 42%; display: none"/> <g><rect width="100" height="100"/></g> <g width="100" height="42px"><rect width="100" height="100"/></g> <g style="width: 10%; height: auto"><rect width="100" height="100"/></g> <g style="width: auto; height: 20px"><rect width="100" height="100"/></g> <g style="width: 20px; height: 10%"><rect width="100" height="100"/></g> <image/> <image width="100"/> <image height="42" style="width: 25%"/> <image height="42" style="width: auto"/> <image height="42" style="width: 230px"/> <image height="42" style="width: 25%; display: none"/> <foreignObject>Some content</foreignObject> <foreignObject width="100">Some content</foreignObject> <foreignObject style="width: 50%">Some content</foreignObject> <foreignObject style="width: auto">Some content</foreignObject> <foreignObject style="width: 75px">Some content</foreignObject> <foreignObject style="width: auto; display: none">Some content</foreignObject> <svg/> <svg width="100"/> <svg style="width: auto"/> <svg style="width: 200px"/> <svg style="width: 50%"/> <svg style="width: auto; display: none"/> <text>Text1</text> <text width="100px" height="42">Text2</text> <text style="width: 30%; height: auto">Text3</text> <text style="width: auto; height: 20px">Text3</text> <text style="width: 20px; height: 30%">Text3</text> </svg> <script><![CDATA[ [ // Cases where computed 'width' return the used value. { element: 'rect', expected: [ { value: '0px', description: 'initial' }, { value: '100px', description: 'presentation attribute' }, { value: '80px', description: 'inline style (percentage)' }, { value: '0px', description: 'inline style (auto)' }, { value: '20px', description: 'inline style (pixels)' }, { value: '42%', description: 'inline style but "display: none"' }, ] }, { element: 'image', expected: [ { value: '0px', description: 'initial' }, { value: '100px', description: 'presentation attribute' }, { value: '50px', description: 'inline style (percentage)' }, { value: '0px', description: 'inline style (auto)' }, { value: '230px', description: 'inline style (pixels)' }, { value: '25%', description: 'inline style but "display: none"' }, ] }, { element: 'foreignObject', expected: [ { value: '0px', description: 'initial' }, { value: '100px', description: 'presentation attribute' }, { value: '100px', description: 'inline style (percentage)' }, { value: '0px', description: 'inline style (auto)' }, { value: '75px', description: 'inline style (pixels)' }, { value: 'auto', description: 'inline style but "display: none"' }, ] }, // Negative test for nested <svg>: verify computed 'width' is auto when not specified explicitly. // Nested <svg> don't support width and height as CSS style attributes. // // https://github.com/w3c/svgwg/issues/1057 { element: 'svg', expected: [ { value: 'auto', description: 'initial' }, { value: 'auto', description: 'presentation attribute' }, { value: 'auto', description: 'inline style (auto)' }, { value: '200px', description: 'inline style (pixels)' }, { value: '50%', description: 'inline style (percentage)' }, { value: 'auto', description: 'inline style but "display: none"' }, ] }, // Cases where computed 'width' return the computed value. { element: 'g', expected: [ { value: 'auto', description: 'initial' }, { value: 'auto', description: 'initial (with dummy attribute)' }, { value: '10%', description: 'inline style (percentage)' }, { value: 'auto', description: 'inline style (auto)' }, { value: '20px', description: 'inline style (pixels)' }, ] }, { element: 'text', expected: [ { value: 'auto', description: 'initial' }, { value: 'auto', description: 'initial (with dummy attribute)' }, { value: '30%', description: 'inline style (percentage)' }, { value: 'auto', description: 'inline style (auto)' }, { value: '20px', description: 'inline style (pixels)' }, ] }, ].forEach(function(entry) { let element_set = document.querySelectorAll('#test-content > ' + entry.element); entry.expected.forEach(function(expected, index) { test(function() { let style = getComputedStyle(element_set[index]); assert_equals(style.width, expected.value, expected.description); }, document.title + ', <' + entry.element + '> ' + expected.description); }); }); ]]></script> </svg>