wpt / svg / types / elements / SVGGeometryElement-rect.svg

Status: FAIL | Duration: 57ms | Subtests: 0/3 | Open test on wpt.live | wpt.fyi

Data from commit:
96ff533 Remove hidden nodes from the acccessibility tree (#823) (2026-09-07)

SubtestStatusMessage
getTotalLength and getPointAtLength do not take pathLength into accountFAILcannot convert 'null' or 'undefined' to object
getPointAtLength() returns instance of SVGPointFAILnot a callable function
getTotalLength and getPointAtLength are not affected by zoomFAILnot a callable function

/svg/types/elements/SVGGeometryElement-rect.svg

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:h="http://www.w3.org/1999/xhtml">
  <metadata>
    <h:link rel="help" href="https://w3c.github.io/svgwg/svg2-draft/single-page.html#types-InterfaceSVGGeometryElement"/>
    <h:meta name="assert" content="SVGGeometryElement members work for rect elements."/>
  </metadata>
  <style>
    rect {
      stroke-width: 10;
    }
  </style>
  <g id="container">
    <rect id="box" x="50" y="50" width="200" height="100" pathLength="6"/>
  </g>
  <h:script src="/resources/testharness.js"/>
  <h:script src="/resources/testharnessreport.js"/>
  <script><![CDATA[
  var box = document.getElementById('box');

  test(function() {
    assert_equals(box.pathLength.baseVal, 6);

    assert_equals(box.getTotalLength(), 600);

    assert_equals(box.getPointAtLength(210).x, 250);
    assert_equals(box.getPointAtLength(210).y, 60);
  }, 'getTotalLength and getPointAtLength do not take pathLength into account');

  test(function() {
    assert_true(box.getPointAtLength(210) instanceof SVGPoint);
  }, 'getPointAtLength() returns instance of SVGPoint');

  test(function() {
    const container = document.getElementById("container");
    try {
      container.style.zoom = 3;
      assert_equals(box.getTotalLength(), 600);

      assert_equals(box.getPointAtLength(210).x, 250);
      assert_equals(box.getPointAtLength(210).y, 60);
    } finally {
      container.style.zoom = 1;
    }
  }, 'getTotalLength and getPointAtLength are not affected by zoom');

  ]]></script>
</svg>