wpt / svg / historical.html

Status: FAIL | Duration: 77ms | Subtests: 44/68 | Open test on wpt.live | wpt.fyi

Data from commit:
a50cb89 wpt: run reference-named files which are themselves tests (#836) (2026-09-03)

SubtestStatusMessage
SVGAltGlyphElement interface must be removedPASS
SVGAltGlyphDefElement interface must be removedPASS
SVGAltGlyphItemElement interface must be removedPASS
SVGAnimatedPathData interface must be removedPASS
SVGColor interface must be removedPASS
SVGColorProfileElement interface must be removedPASS
SVGColorProfileRule interface must be removedPASS
SVGCursorElement interface must be removedPASS
SVGDocument interface must be removedPASS
SVGElementInstanceList interface must be removedPASS
SVGExternalResourcesRequired interface must be removedPASS
SVGFontElement interface must be removedPASS
SVGFontFaceElement interface must be removedPASS
SVGFontFaceSrcElement interface must be removedPASS
SVGFontFaceUriElement interface must be removedPASS
SVGFontFaceFormatElement interface must be removedPASS
SVGGlyphElement interface must be removedPASS
SVGGlyphRefElement interface must be removedPASS
SVGHKernElement interface must be removedPASS
SVGICCColor interface must be removedPASS
SVGLangSpace interface must be removedPASS
SVGLocatable interface must be removedPASS
SVGMissingGlyphElement interface must be removedPASS
SVGTransformable interface must be removedPASS
SVGTRefElement interface must be removedPASS
SVGPaint interface must be removedPASS
SVGPathSeg interface must be removedPASS
SVGStylable interface must be removedPASS
SVGUnknownElement interface must be removedPASS
SVGVKernElement interface must be removedPASS
SVGViewSpec interface must be removedPASS
SVGZoomEvent interface must be removedPASS
GetSVGDocument mixin interface must not be exposedPASS
SVGAnimatedPoints mixin interface must not be exposedPASS
SVGElementInstance mixin interface must not be exposedPASS
SVGFilterPrimitiveStandardAttributes mixin interface must not be exposedPASS
SVGFitToViewBox mixin interface must not be exposedPASS
SVGTests mixin interface must not be exposedPASS
SVGURIReference mixin interface must not be exposedPASS
SVGZoomAndPan mixin interface must not be exposedPASS
SVGElement.prototype.getPresentationAttribute must be removedPASS
SVGElement.prototype.xmlbase must be removedPASS
SVGElement.prototype.xmllang must be removedPASS
SVGElement.prototype.xmlspace must be removedPASS
SVGAElement.prototype.text must be removedFAILcannot convert 'null' or 'undefined' to object
SVGGraphicsElement.prototype.farthestViewportElement must be removedFAILcannot convert 'null' or 'undefined' to object
SVGGraphicsElement.prototype.getTransformToElement must be removedFAILcannot convert 'null' or 'undefined' to object
SVGGraphicsElement.prototype.hasExtension must be removedFAILcannot convert 'null' or 'undefined' to object
SVGGraphicsElement.prototype.nearestViewportElement must be removedFAILcannot convert 'null' or 'undefined' to object
SVGGraphicsElement.prototype.requiredFeatures must be removedFAILcannot convert 'null' or 'undefined' to object
SVGSVGElement.prototype.currentView must be removedFAILcannot convert 'null' or 'undefined' to object
SVGSVGElement.prototype.pixelUnitToMillimeterX must be removedFAILcannot convert 'null' or 'undefined' to object
SVGSVGElement.prototype.pixelUnitToMillimeterY must be removedFAILcannot convert 'null' or 'undefined' to object
SVGSVGElement.prototype.screenPixelToMillimeterX must be removedFAILcannot convert 'null' or 'undefined' to object
SVGSVGElement.prototype.screenPixelToMillimeterY must be removedFAILcannot convert 'null' or 'undefined' to object
SVGSVGElement.prototype.setCurrentScale must be removedFAILcannot convert 'null' or 'undefined' to object
SVGSVGElement.prototype.setCurrentTranslate must be removedFAILcannot convert 'null' or 'undefined' to object
SVGSVGElement.prototype.useCurrentView must be removedFAILcannot convert 'null' or 'undefined' to object
SVGSVGElement.prototype.viewport must be removedFAILcannot convert 'null' or 'undefined' to object
SVGViewElement.prototype.viewTarget must be removedFAILcannot convert 'null' or 'undefined' to object
SVGPathElement.prototype.getPointAtLength must be moved to SVGGeometryElement.prototypeFAILSVGPathElement is not defined
SVGPathElement.prototype.getTotalLength must be moved to SVGGeometryElement.prototypeFAILSVGPathElement is not defined
SVGPathElement.prototype.pathLength must be moved to SVGGeometryElement.prototypeFAILSVGPathElement is not defined
SVGClipPathElement must not implement SVGUnitTypesFAILassert_true: expected true got false
SVGFilterElement must not implement SVGUnitTypesFAILassert_true: expected true got false
SVGGradientElement must not implement SVGUnitTypesFAILassert_true: expected true got false
SVGMaskElement must not implement SVGUnitTypesFAILassert_true: expected true got false
SVGPatternElement must not implement SVGUnitTypesFAILassert_true: expected true got false

/svg/historical.html

<!DOCTYPE html>
<title>Historical SVG features must be removed</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
var removedInterfaces = [
  "SVGAltGlyphElement",
  "SVGAltGlyphDefElement",
  "SVGAltGlyphItemElement",
  "SVGAnimatedPathData",
  "SVGColor",
  "SVGColorProfileElement",
  "SVGColorProfileRule",
  "SVGCursorElement",
  "SVGDocument",
  "SVGElementInstanceList",
  "SVGExternalResourcesRequired",
  "SVGFontElement",
  "SVGFontFaceElement",
  "SVGFontFaceSrcElement",
  "SVGFontFaceUriElement",
  "SVGFontFaceFormatElement",
  "SVGGlyphElement",
  "SVGGlyphRefElement",
  "SVGHKernElement",
  "SVGICCColor",
  "SVGLangSpace",
  "SVGLocatable",
  "SVGMissingGlyphElement",
  "SVGTransformable",
  "SVGTRefElement",
  "SVGPaint",
  "SVGPathSeg",
  "SVGStylable",
  "SVGUnknownElement",
  "SVGVKernElement",
  "SVGViewSpec",
  "SVGZoomEvent"
]
for (var name of removedInterfaces) {
 test(function() {
   assert_false(name in window)
 }, name + " interface must be removed")
}

var mixinInterfaces = [
  "GetSVGDocument",
  "SVGAnimatedPoints",
  "SVGElementInstance",
  "SVGFilterPrimitiveStandardAttributes",
  "SVGFitToViewBox",
  "SVGTests",
  "SVGURIReference",
  "SVGZoomAndPan"
]
for (var name of mixinInterfaces) {
  test(function() {
    assert_false(name in window)
  }, name + " mixin interface must not be exposed")
}

var removedMembers = {
  "SVGElement": [
    "getPresentationAttribute",
    "xmlbase",
    "xmllang",
    "xmlspace"
  ],
  "SVGAElement": [
    "text"
  ],
  "SVGGraphicsElement": [
    "farthestViewportElement",
    "getTransformToElement",
    "hasExtension",
    "nearestViewportElement",
    "requiredFeatures"
  ],
  "SVGSVGElement": [
    "currentView",
    "pixelUnitToMillimeterX",
    "pixelUnitToMillimeterY",
    "screenPixelToMillimeterX",
    "screenPixelToMillimeterY",
    "setCurrentScale",
    "setCurrentTranslate",
    "useCurrentView",
    "viewport"
  ],
  "SVGViewElement": [
    "viewTarget"
  ]
}
for (var name in removedMembers) {
  for (var member of removedMembers[name]) {
    test(function() {
      assert_false(member in window[name].prototype)
    }, name + ".prototype." + member + " must be removed")
  }
}

var movedPathMembers = [
  "getPointAtLength",
  "getTotalLength",
  "pathLength"
]
for (var member of movedPathMembers) {
  test(function() {
    assert_false(SVGPathElement.prototype.hasOwnProperty(member))
    assert_true(SVGGeometryElement.prototype.hasOwnProperty(member))
  }, "SVGPathElement.prototype." + member + " must be moved to SVGGeometryElement.prototype")
}

var implementedSVGUnitTypes =  [
  "SVGClipPathElement",
  "SVGFilterElement",
  "SVGGradientElement",
  "SVGMaskElement",
  "SVGPatternElement"
]
for (var name of implementedSVGUnitTypes) {
 test(function() {
   assert_true(name in window);
   var interfaceObject = window[name];
   assert_false("SVG_UNIT_TYPE_UNKNOWN" in interfaceObject);
   assert_false("SVG_UNIT_TYPE_USERSPACEONUSE" in interfaceObject);
   assert_false("SVG_UNIT_TYPE_OBJECTBOUNDINGBOX" in interfaceObject);
 }, name + " must not implement SVGUnitTypes")
}
</script>