
PASS idl_test setup 
PASS idl_test validation 
PASS Partial interface Document: original interface defined 
PASS Partial interface Document: member names are unique 
PASS Partial interface Document[2]: member names are unique 
PASS Partial interface Document[3]: member names are unique 
PASS Partial interface Document[4]: member names are unique 
PASS SVGElement includes GlobalEventHandlers: member names are unique 
PASS SVGElement includes DocumentAndElementEventHandlers: member names are unique 
PASS SVGElement includes SVGElementInstance: member names are unique 
PASS SVGElement includes HTMLOrSVGElement: member names are unique 
PASS SVGElement includes ElementCSSInlineStyle: member names are unique 
PASS SVGGraphicsElement includes SVGTests: member names are unique 
PASS SVGSVGElement includes SVGFitToViewBox: member names are unique 
PASS SVGSVGElement includes WindowEventHandlers: member names are unique 
PASS SVGSymbolElement includes SVGFitToViewBox: member names are unique 
PASS SVGUseElement includes SVGURIReference: member names are unique 
PASS SVGStyleElement includes LinkStyle: member names are unique 
PASS SVGPolylineElement includes SVGAnimatedPoints: member names are unique 
PASS SVGPolygonElement includes SVGAnimatedPoints: member names are unique 
PASS SVGTextPathElement includes SVGURIReference: member names are unique 
PASS SVGImageElement includes SVGURIReference: member names are unique 
PASS SVGMarkerElement includes SVGFitToViewBox: member names are unique 
PASS SVGGradientElement includes SVGURIReference: member names are unique 
PASS SVGPatternElement includes SVGFitToViewBox: member names are unique 
PASS SVGPatternElement includes SVGURIReference: member names are unique 
PASS SVGScriptElement includes SVGURIReference: member names are unique 
PASS SVGAElement includes SVGURIReference: member names are unique 
FAIL SVGAElement includes HTMLHyperlinkElementUtils: member names are unique assert_true: member href is unique expected true got false
PASS SVGViewElement includes SVGFitToViewBox: member names are unique 
PASS Element includes Animatable: member names are unique 
PASS Element includes ParentNode: member names are unique 
PASS Element includes NonDocumentTypeChildNode: member names are unique 
PASS Element includes ChildNode: member names are unique 
PASS Element includes Slotable: member names are unique 
PASS Document includes GlobalEventHandlers: member names are unique 
PASS Document includes DocumentAndElementEventHandlers: member names are unique 
PASS Document includes NonElementParentNode: member names are unique 
PASS Document includes ParentNode: member names are unique 
PASS Document includes XPathEvaluatorBase: member names are unique 
PASS DocumentFragment includes NonElementParentNode: member names are unique 
PASS DocumentFragment includes ParentNode: member names are unique 
PASS SVGElement interface: existence and properties of interface object 
PASS SVGElement interface object length 
PASS SVGElement interface object name 
PASS SVGElement interface: existence and properties of interface prototype object 
PASS SVGElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGElement interface: attribute className 
PASS SVGElement interface: attribute ownerSVGElement 
PASS SVGElement interface: attribute viewportElement 
FAIL SVGElement interface: attribute correspondingElement assert_true: The prototype object must have a property "correspondingElement" expected true got false
FAIL SVGElement interface: attribute correspondingUseElement assert_true: The prototype object must have a property "correspondingUseElement" expected true got false
PASS SVGGraphicsElement interface: existence and properties of interface object 
PASS SVGGraphicsElement interface object length 
PASS SVGGraphicsElement interface object name 
PASS SVGGraphicsElement interface: existence and properties of interface prototype object 
PASS SVGGraphicsElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGGraphicsElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGGraphicsElement interface: attribute transform 
PASS SVGGraphicsElement interface: operation getBBox(SVGBoundingBoxOptions) 
PASS SVGGraphicsElement interface: operation getCTM() 
PASS SVGGraphicsElement interface: operation getScreenCTM() 
PASS SVGGraphicsElement interface: attribute requiredExtensions 
PASS SVGGraphicsElement interface: attribute systemLanguage 
PASS SVGGeometryElement interface: existence and properties of interface object 
PASS SVGGeometryElement interface object length 
PASS SVGGeometryElement interface object name 
PASS SVGGeometryElement interface: existence and properties of interface prototype object 
PASS SVGGeometryElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGGeometryElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGGeometryElement interface: attribute pathLength 
PASS SVGGeometryElement interface: operation isPointInFill(DOMPointInit) 
PASS SVGGeometryElement interface: operation isPointInStroke(DOMPointInit) 
PASS SVGGeometryElement interface: operation getTotalLength() 
PASS SVGGeometryElement interface: operation getPointAtLength(float) 
PASS SVGNumber interface: existence and properties of interface object 
PASS SVGNumber interface object length 
PASS SVGNumber interface object name 
PASS SVGNumber interface: existence and properties of interface prototype object 
PASS SVGNumber interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGNumber interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGNumber interface: attribute value 
PASS SVGNumber must be primary interface of objects.svg.createSVGNumber() 
PASS Stringification of objects.svg.createSVGNumber() 
PASS SVGNumber interface: objects.svg.createSVGNumber() must inherit property "value" with the proper type 
PASS SVGLength interface: existence and properties of interface object 
PASS SVGLength interface object length 
PASS SVGLength interface object name 
PASS SVGLength interface: existence and properties of interface prototype object 
PASS SVGLength interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGLength interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGLength interface: constant SVG_LENGTHTYPE_UNKNOWN on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_UNKNOWN on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_NUMBER on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_NUMBER on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_PERCENTAGE on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_PERCENTAGE on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_EMS on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_EMS on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_EXS on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_EXS on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_PX on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_PX on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_CM on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_CM on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_MM on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_MM on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_IN on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_IN on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_PT on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_PT on interface prototype object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_PC on interface object 
PASS SVGLength interface: constant SVG_LENGTHTYPE_PC on interface prototype object 
PASS SVGLength interface: attribute unitType 
PASS SVGLength interface: attribute value 
PASS SVGLength interface: attribute valueInSpecifiedUnits 
PASS SVGLength interface: attribute valueAsString 
PASS SVGLength interface: operation newValueSpecifiedUnits(unsigned short, float) 
PASS SVGLength interface: operation convertToSpecifiedUnits(unsigned short) 
PASS SVGLength must be primary interface of objects.svg.createSVGLength() 
PASS Stringification of objects.svg.createSVGLength() 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_UNKNOWN" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_NUMBER" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_PERCENTAGE" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_EMS" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_EXS" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_PX" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_CM" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_MM" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_IN" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_PT" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "SVG_LENGTHTYPE_PC" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "unitType" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "value" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "valueInSpecifiedUnits" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "valueAsString" with the proper type 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "newValueSpecifiedUnits(unsigned short, float)" with the proper type 
PASS SVGLength interface: calling newValueSpecifiedUnits(unsigned short, float) on objects.svg.createSVGLength() with too few arguments must throw TypeError 
PASS SVGLength interface: objects.svg.createSVGLength() must inherit property "convertToSpecifiedUnits(unsigned short)" with the proper type 
PASS SVGLength interface: calling convertToSpecifiedUnits(unsigned short) on objects.svg.createSVGLength() with too few arguments must throw TypeError 
PASS SVGAngle interface: existence and properties of interface object 
PASS SVGAngle interface object length 
PASS SVGAngle interface object name 
PASS SVGAngle interface: existence and properties of interface prototype object 
PASS SVGAngle interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAngle interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAngle interface: constant SVG_ANGLETYPE_UNKNOWN on interface object 
PASS SVGAngle interface: constant SVG_ANGLETYPE_UNKNOWN on interface prototype object 
PASS SVGAngle interface: constant SVG_ANGLETYPE_UNSPECIFIED on interface object 
PASS SVGAngle interface: constant SVG_ANGLETYPE_UNSPECIFIED on interface prototype object 
PASS SVGAngle interface: constant SVG_ANGLETYPE_DEG on interface object 
PASS SVGAngle interface: constant SVG_ANGLETYPE_DEG on interface prototype object 
PASS SVGAngle interface: constant SVG_ANGLETYPE_RAD on interface object 
PASS SVGAngle interface: constant SVG_ANGLETYPE_RAD on interface prototype object 
PASS SVGAngle interface: constant SVG_ANGLETYPE_GRAD on interface object 
PASS SVGAngle interface: constant SVG_ANGLETYPE_GRAD on interface prototype object 
PASS SVGAngle interface: attribute unitType 
PASS SVGAngle interface: attribute value 
PASS SVGAngle interface: attribute valueInSpecifiedUnits 
PASS SVGAngle interface: attribute valueAsString 
PASS SVGAngle interface: operation newValueSpecifiedUnits(unsigned short, float) 
PASS SVGAngle interface: operation convertToSpecifiedUnits(unsigned short) 
PASS SVGAngle must be primary interface of objects.svg.createSVGAngle() 
PASS Stringification of objects.svg.createSVGAngle() 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_UNKNOWN" with the proper type 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_UNSPECIFIED" with the proper type 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_DEG" with the proper type 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_RAD" with the proper type 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "SVG_ANGLETYPE_GRAD" with the proper type 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "unitType" with the proper type 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "value" with the proper type 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "valueInSpecifiedUnits" with the proper type 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "valueAsString" with the proper type 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "newValueSpecifiedUnits(unsigned short, float)" with the proper type 
PASS SVGAngle interface: calling newValueSpecifiedUnits(unsigned short, float) on objects.svg.createSVGAngle() with too few arguments must throw TypeError 
PASS SVGAngle interface: objects.svg.createSVGAngle() must inherit property "convertToSpecifiedUnits(unsigned short)" with the proper type 
PASS SVGAngle interface: calling convertToSpecifiedUnits(unsigned short) on objects.svg.createSVGAngle() with too few arguments must throw TypeError 
PASS SVGNumberList interface: existence and properties of interface object 
PASS SVGNumberList interface object length 
PASS SVGNumberList interface object name 
PASS SVGNumberList interface: existence and properties of interface prototype object 
PASS SVGNumberList interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGNumberList interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGNumberList interface: attribute length 
PASS SVGNumberList interface: attribute numberOfItems 
PASS SVGNumberList interface: operation clear() 
PASS SVGNumberList interface: operation initialize(SVGNumber) 
PASS SVGNumberList interface: operation getItem(unsigned long) 
PASS SVGNumberList interface: operation insertItemBefore(SVGNumber, unsigned long) 
PASS SVGNumberList interface: operation replaceItem(SVGNumber, unsigned long) 
PASS SVGNumberList interface: operation removeItem(unsigned long) 
PASS SVGNumberList interface: operation appendItem(SVGNumber) 
PASS SVGNumberList must be primary interface of objects.text.rotate.baseVal 
PASS Stringification of objects.text.rotate.baseVal 
PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "length" with the proper type 
PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "numberOfItems" with the proper type 
PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "clear()" with the proper type 
PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "initialize(SVGNumber)" with the proper type 
PASS SVGNumberList interface: calling initialize(SVGNumber) on objects.text.rotate.baseVal with too few arguments must throw TypeError 
PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "getItem(unsigned long)" with the proper type 
PASS SVGNumberList interface: calling getItem(unsigned long) on objects.text.rotate.baseVal with too few arguments must throw TypeError 
PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "insertItemBefore(SVGNumber, unsigned long)" with the proper type 
PASS SVGNumberList interface: calling insertItemBefore(SVGNumber, unsigned long) on objects.text.rotate.baseVal with too few arguments must throw TypeError 
PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "replaceItem(SVGNumber, unsigned long)" with the proper type 
PASS SVGNumberList interface: calling replaceItem(SVGNumber, unsigned long) on objects.text.rotate.baseVal with too few arguments must throw TypeError 
PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "removeItem(unsigned long)" with the proper type 
PASS SVGNumberList interface: calling removeItem(unsigned long) on objects.text.rotate.baseVal with too few arguments must throw TypeError 
PASS SVGNumberList interface: objects.text.rotate.baseVal must inherit property "appendItem(SVGNumber)" with the proper type 
PASS SVGNumberList interface: calling appendItem(SVGNumber) on objects.text.rotate.baseVal with too few arguments must throw TypeError 
PASS SVGLengthList interface: existence and properties of interface object 
PASS SVGLengthList interface object length 
PASS SVGLengthList interface object name 
PASS SVGLengthList interface: existence and properties of interface prototype object 
PASS SVGLengthList interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGLengthList interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGLengthList interface: attribute length 
PASS SVGLengthList interface: attribute numberOfItems 
PASS SVGLengthList interface: operation clear() 
PASS SVGLengthList interface: operation initialize(SVGLength) 
PASS SVGLengthList interface: operation getItem(unsigned long) 
PASS SVGLengthList interface: operation insertItemBefore(SVGLength, unsigned long) 
PASS SVGLengthList interface: operation replaceItem(SVGLength, unsigned long) 
PASS SVGLengthList interface: operation removeItem(unsigned long) 
PASS SVGLengthList interface: operation appendItem(SVGLength) 
PASS SVGStringList interface: existence and properties of interface object 
PASS SVGStringList interface object length 
PASS SVGStringList interface object name 
PASS SVGStringList interface: existence and properties of interface prototype object 
PASS SVGStringList interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGStringList interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGStringList interface: attribute length 
PASS SVGStringList interface: attribute numberOfItems 
PASS SVGStringList interface: operation clear() 
PASS SVGStringList interface: operation initialize(DOMString) 
PASS SVGStringList interface: operation getItem(unsigned long) 
PASS SVGStringList interface: operation insertItemBefore(DOMString, unsigned long) 
PASS SVGStringList interface: operation replaceItem(DOMString, unsigned long) 
PASS SVGStringList interface: operation removeItem(unsigned long) 
PASS SVGStringList interface: operation appendItem(DOMString) 
PASS SVGStringList must be primary interface of objects.a.requiredExtensions 
PASS Stringification of objects.a.requiredExtensions 
PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "length" with the proper type 
PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "numberOfItems" with the proper type 
PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "clear()" with the proper type 
PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "initialize(DOMString)" with the proper type 
PASS SVGStringList interface: calling initialize(DOMString) on objects.a.requiredExtensions with too few arguments must throw TypeError 
PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "getItem(unsigned long)" with the proper type 
PASS SVGStringList interface: calling getItem(unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError 
PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "insertItemBefore(DOMString, unsigned long)" with the proper type 
PASS SVGStringList interface: calling insertItemBefore(DOMString, unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError 
PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "replaceItem(DOMString, unsigned long)" with the proper type 
PASS SVGStringList interface: calling replaceItem(DOMString, unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError 
PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "removeItem(unsigned long)" with the proper type 
PASS SVGStringList interface: calling removeItem(unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError 
PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "appendItem(DOMString)" with the proper type 
PASS SVGStringList interface: calling appendItem(DOMString) on objects.a.requiredExtensions with too few arguments must throw TypeError 
PASS SVGAnimatedBoolean interface: existence and properties of interface object 
PASS SVGAnimatedBoolean interface object length 
PASS SVGAnimatedBoolean interface object name 
PASS SVGAnimatedBoolean interface: existence and properties of interface prototype object 
PASS SVGAnimatedBoolean interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedBoolean interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedBoolean interface: attribute baseVal 
PASS SVGAnimatedBoolean interface: attribute animVal 
PASS SVGAnimatedBoolean must be primary interface of objects.feConvolveMatrix.preserveAlpha 
PASS Stringification of objects.feConvolveMatrix.preserveAlpha 
PASS SVGAnimatedBoolean interface: objects.feConvolveMatrix.preserveAlpha must inherit property "baseVal" with the proper type 
PASS SVGAnimatedBoolean interface: objects.feConvolveMatrix.preserveAlpha must inherit property "animVal" with the proper type 
PASS SVGAnimatedEnumeration interface: existence and properties of interface object 
PASS SVGAnimatedEnumeration interface object length 
PASS SVGAnimatedEnumeration interface object name 
PASS SVGAnimatedEnumeration interface: existence and properties of interface prototype object 
PASS SVGAnimatedEnumeration interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedEnumeration interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedEnumeration interface: attribute baseVal 
PASS SVGAnimatedEnumeration interface: attribute animVal 
PASS SVGAnimatedEnumeration must be primary interface of objects.text.lengthAdjust 
PASS Stringification of objects.text.lengthAdjust 
PASS SVGAnimatedEnumeration interface: objects.text.lengthAdjust must inherit property "baseVal" with the proper type 
PASS SVGAnimatedEnumeration interface: objects.text.lengthAdjust must inherit property "animVal" with the proper type 
PASS SVGAnimatedInteger interface: existence and properties of interface object 
PASS SVGAnimatedInteger interface object length 
PASS SVGAnimatedInteger interface object name 
PASS SVGAnimatedInteger interface: existence and properties of interface prototype object 
PASS SVGAnimatedInteger interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedInteger interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedInteger interface: attribute baseVal 
PASS SVGAnimatedInteger interface: attribute animVal 
PASS SVGAnimatedInteger must be primary interface of objects.feConvolveMatrix.orderX 
PASS Stringification of objects.feConvolveMatrix.orderX 
PASS SVGAnimatedInteger interface: objects.feConvolveMatrix.orderX must inherit property "baseVal" with the proper type 
PASS SVGAnimatedInteger interface: objects.feConvolveMatrix.orderX must inherit property "animVal" with the proper type 
PASS SVGAnimatedNumber interface: existence and properties of interface object 
PASS SVGAnimatedNumber interface object length 
PASS SVGAnimatedNumber interface object name 
PASS SVGAnimatedNumber interface: existence and properties of interface prototype object 
PASS SVGAnimatedNumber interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedNumber interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedNumber interface: attribute baseVal 
PASS SVGAnimatedNumber interface: attribute animVal 
PASS SVGAnimatedNumber must be primary interface of objects.stop.offset 
PASS Stringification of objects.stop.offset 
PASS SVGAnimatedNumber interface: objects.stop.offset must inherit property "baseVal" with the proper type 
PASS SVGAnimatedNumber interface: objects.stop.offset must inherit property "animVal" with the proper type 
PASS SVGAnimatedLength interface: existence and properties of interface object 
PASS SVGAnimatedLength interface object length 
PASS SVGAnimatedLength interface object name 
PASS SVGAnimatedLength interface: existence and properties of interface prototype object 
PASS SVGAnimatedLength interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedLength interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedLength interface: attribute baseVal 
PASS SVGAnimatedLength interface: attribute animVal 
PASS SVGAnimatedLength must be primary interface of objects.svg.x 
PASS Stringification of objects.svg.x 
PASS SVGAnimatedLength interface: objects.svg.x must inherit property "baseVal" with the proper type 
PASS SVGAnimatedLength interface: objects.svg.x must inherit property "animVal" with the proper type 
PASS SVGAnimatedAngle interface: existence and properties of interface object 
PASS SVGAnimatedAngle interface object length 
PASS SVGAnimatedAngle interface object name 
PASS SVGAnimatedAngle interface: existence and properties of interface prototype object 
PASS SVGAnimatedAngle interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedAngle interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedAngle interface: attribute baseVal 
PASS SVGAnimatedAngle interface: attribute animVal 
PASS SVGAnimatedAngle must be primary interface of objects.marker.orientAngle 
PASS Stringification of objects.marker.orientAngle 
PASS SVGAnimatedAngle interface: objects.marker.orientAngle must inherit property "baseVal" with the proper type 
PASS SVGAnimatedAngle interface: objects.marker.orientAngle must inherit property "animVal" with the proper type 
PASS SVGAnimatedString interface: existence and properties of interface object 
PASS SVGAnimatedString interface object length 
PASS SVGAnimatedString interface object name 
PASS SVGAnimatedString interface: existence and properties of interface prototype object 
PASS SVGAnimatedString interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedString interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedString interface: attribute baseVal 
PASS SVGAnimatedString interface: attribute animVal 
PASS SVGAnimatedString must be primary interface of objects.a.target 
PASS Stringification of objects.a.target 
PASS SVGAnimatedString interface: objects.a.target must inherit property "baseVal" with the proper type 
PASS SVGAnimatedString interface: objects.a.target must inherit property "animVal" with the proper type 
PASS SVGAnimatedRect interface: existence and properties of interface object 
PASS SVGAnimatedRect interface object length 
PASS SVGAnimatedRect interface object name 
PASS SVGAnimatedRect interface: existence and properties of interface prototype object 
PASS SVGAnimatedRect interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedRect interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedRect interface: attribute baseVal 
PASS SVGAnimatedRect interface: attribute animVal 
PASS SVGAnimatedRect must be primary interface of objects.svg.viewBox 
PASS Stringification of objects.svg.viewBox 
FAIL SVGAnimatedRect interface: objects.svg.viewBox must inherit property "baseVal" with the proper type Unrecognized type DOMRect
FAIL SVGAnimatedRect interface: objects.svg.viewBox must inherit property "animVal" with the proper type Unrecognized type DOMRectReadOnly
PASS SVGAnimatedNumberList interface: existence and properties of interface object 
PASS SVGAnimatedNumberList interface object length 
PASS SVGAnimatedNumberList interface object name 
PASS SVGAnimatedNumberList interface: existence and properties of interface prototype object 
PASS SVGAnimatedNumberList interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedNumberList interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedNumberList interface: attribute baseVal 
PASS SVGAnimatedNumberList interface: attribute animVal 
PASS SVGAnimatedNumberList must be primary interface of objects.text.rotate 
PASS Stringification of objects.text.rotate 
PASS SVGAnimatedNumberList interface: objects.text.rotate must inherit property "baseVal" with the proper type 
PASS SVGAnimatedNumberList interface: objects.text.rotate must inherit property "animVal" with the proper type 
PASS SVGAnimatedLengthList interface: existence and properties of interface object 
PASS SVGAnimatedLengthList interface object length 
PASS SVGAnimatedLengthList interface object name 
PASS SVGAnimatedLengthList interface: existence and properties of interface prototype object 
PASS SVGAnimatedLengthList interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedLengthList interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedLengthList interface: attribute baseVal 
PASS SVGAnimatedLengthList interface: attribute animVal 
PASS SVGAnimatedLengthList must be primary interface of objects.text.x 
PASS Stringification of objects.text.x 
PASS SVGAnimatedLengthList interface: objects.text.x must inherit property "baseVal" with the proper type 
PASS SVGAnimatedLengthList interface: objects.text.x must inherit property "animVal" with the proper type 
PASS SVGUnitTypes interface: existence and properties of interface object 
PASS SVGUnitTypes interface object length 
PASS SVGUnitTypes interface object name 
PASS SVGUnitTypes interface: existence and properties of interface prototype object 
PASS SVGUnitTypes interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGUnitTypes interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_UNKNOWN on interface object 
PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_UNKNOWN on interface prototype object 
PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_USERSPACEONUSE on interface object 
PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_USERSPACEONUSE on interface prototype object 
PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_OBJECTBOUNDINGBOX on interface object 
PASS SVGUnitTypes interface: constant SVG_UNIT_TYPE_OBJECTBOUNDINGBOX on interface prototype object 
PASS SVGSVGElement interface: existence and properties of interface object 
PASS SVGSVGElement interface object length 
PASS SVGSVGElement interface object name 
PASS SVGSVGElement interface: existence and properties of interface prototype object 
PASS SVGSVGElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGSVGElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGSVGElement interface: attribute x 
PASS SVGSVGElement interface: attribute y 
PASS SVGSVGElement interface: attribute width 
PASS SVGSVGElement interface: attribute height 
PASS SVGSVGElement interface: attribute currentScale 
PASS SVGSVGElement interface: attribute currentTranslate 
PASS SVGSVGElement interface: operation getIntersectionList(DOMRectReadOnly, SVGElement) 
PASS SVGSVGElement interface: operation getEnclosureList(DOMRectReadOnly, SVGElement) 
PASS SVGSVGElement interface: operation checkIntersection(SVGElement, DOMRectReadOnly) 
PASS SVGSVGElement interface: operation checkEnclosure(SVGElement, DOMRectReadOnly) 
PASS SVGSVGElement interface: operation deselectAll() 
PASS SVGSVGElement interface: operation createSVGNumber() 
PASS SVGSVGElement interface: operation createSVGLength() 
PASS SVGSVGElement interface: operation createSVGAngle() 
PASS SVGSVGElement interface: operation createSVGPoint() 
PASS SVGSVGElement interface: operation createSVGMatrix() 
PASS SVGSVGElement interface: operation createSVGRect() 
PASS SVGSVGElement interface: operation createSVGTransform() 
PASS SVGSVGElement interface: operation createSVGTransformFromMatrix(DOMMatrix2DInit) 
PASS SVGSVGElement interface: operation getElementById(DOMString) 
FAIL SVGSVGElement interface: operation suspendRedraw(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
FAIL SVGSVGElement interface: operation unsuspendRedraw(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
PASS SVGSVGElement interface: operation unsuspendRedrawAll() 
PASS SVGSVGElement interface: operation forceRedraw() 
PASS SVGSVGElement interface: attribute viewBox 
PASS SVGSVGElement interface: attribute preserveAspectRatio 
PASS SVGSVGElement must be primary interface of objects.svg 
PASS Stringification of objects.svg 
PASS SVGSVGElement interface: objects.svg must inherit property "x" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "y" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "width" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "height" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "currentScale" with the proper type 
FAIL SVGSVGElement interface: objects.svg must inherit property "currentTranslate" with the proper type Unrecognized type DOMPointReadOnly
PASS SVGSVGElement interface: objects.svg must inherit property "getIntersectionList(DOMRectReadOnly, SVGElement)" with the proper type 
PASS SVGSVGElement interface: calling getIntersectionList(DOMRectReadOnly, SVGElement) on objects.svg with too few arguments must throw TypeError 
PASS SVGSVGElement interface: objects.svg must inherit property "getEnclosureList(DOMRectReadOnly, SVGElement)" with the proper type 
PASS SVGSVGElement interface: calling getEnclosureList(DOMRectReadOnly, SVGElement) on objects.svg with too few arguments must throw TypeError 
PASS SVGSVGElement interface: objects.svg must inherit property "checkIntersection(SVGElement, DOMRectReadOnly)" with the proper type 
PASS SVGSVGElement interface: calling checkIntersection(SVGElement, DOMRectReadOnly) on objects.svg with too few arguments must throw TypeError 
PASS SVGSVGElement interface: objects.svg must inherit property "checkEnclosure(SVGElement, DOMRectReadOnly)" with the proper type 
PASS SVGSVGElement interface: calling checkEnclosure(SVGElement, DOMRectReadOnly) on objects.svg with too few arguments must throw TypeError 
PASS SVGSVGElement interface: objects.svg must inherit property "deselectAll()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "createSVGNumber()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "createSVGLength()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "createSVGAngle()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "createSVGPoint()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "createSVGMatrix()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "createSVGRect()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "createSVGTransform()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "createSVGTransformFromMatrix(DOMMatrix2DInit)" with the proper type 
PASS SVGSVGElement interface: calling createSVGTransformFromMatrix(DOMMatrix2DInit) on objects.svg with too few arguments must throw TypeError 
PASS SVGSVGElement interface: objects.svg must inherit property "getElementById(DOMString)" with the proper type 
PASS SVGSVGElement interface: calling getElementById(DOMString) on objects.svg with too few arguments must throw TypeError 
PASS SVGSVGElement interface: objects.svg must inherit property "suspendRedraw(unsigned long)" with the proper type 
FAIL SVGSVGElement interface: calling suspendRedraw(unsigned long) on objects.svg with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGSVGElement interface: objects.svg must inherit property "unsuspendRedraw(unsigned long)" with the proper type 
FAIL SVGSVGElement interface: calling unsuspendRedraw(unsigned long) on objects.svg with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGSVGElement interface: objects.svg must inherit property "unsuspendRedrawAll()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "forceRedraw()" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "viewBox" with the proper type 
PASS SVGSVGElement interface: objects.svg must inherit property "preserveAspectRatio" with the proper type 
PASS SVGGraphicsElement interface: objects.svg must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.svg must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.svg with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.svg must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.svg must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.svg must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.svg must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.svg must inherit property "className" with the proper type 
PASS SVGElement interface: objects.svg must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.svg must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.svg must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.svg must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGGElement interface: existence and properties of interface object 
PASS SVGGElement interface object length 
PASS SVGGElement interface object name 
PASS SVGGElement interface: existence and properties of interface prototype object 
PASS SVGGElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGGElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGGElement must be primary interface of objects.g 
PASS Stringification of objects.g 
PASS SVGGraphicsElement interface: objects.g must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.g must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.g with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.g must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.g must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.g must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.g must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.g must inherit property "className" with the proper type 
PASS SVGElement interface: objects.g must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.g must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.g must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.g must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGDefsElement interface: existence and properties of interface object 
PASS SVGDefsElement interface object length 
PASS SVGDefsElement interface object name 
PASS SVGDefsElement interface: existence and properties of interface prototype object 
PASS SVGDefsElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGDefsElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGDefsElement must be primary interface of objects.defs 
PASS Stringification of objects.defs 
PASS SVGGraphicsElement interface: objects.defs must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.defs must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.defs with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.defs must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.defs must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.defs must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.defs must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.defs must inherit property "className" with the proper type 
PASS SVGElement interface: objects.defs must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.defs must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.defs must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.defs must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGDescElement interface: existence and properties of interface object 
PASS SVGDescElement interface object length 
PASS SVGDescElement interface object name 
PASS SVGDescElement interface: existence and properties of interface prototype object 
PASS SVGDescElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGDescElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGDescElement must be primary interface of objects.desc 
PASS Stringification of objects.desc 
PASS SVGElement interface: objects.desc must inherit property "className" with the proper type 
PASS SVGElement interface: objects.desc must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.desc must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.desc must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.desc must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGMetadataElement interface: existence and properties of interface object 
PASS SVGMetadataElement interface object length 
PASS SVGMetadataElement interface object name 
PASS SVGMetadataElement interface: existence and properties of interface prototype object 
PASS SVGMetadataElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGMetadataElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGMetadataElement must be primary interface of objects.metadata 
PASS Stringification of objects.metadata 
PASS SVGElement interface: objects.metadata must inherit property "className" with the proper type 
PASS SVGElement interface: objects.metadata must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.metadata must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.metadata must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.metadata must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGTitleElement interface: existence and properties of interface object 
PASS SVGTitleElement interface object length 
PASS SVGTitleElement interface object name 
PASS SVGTitleElement interface: existence and properties of interface prototype object 
PASS SVGTitleElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGTitleElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGTitleElement must be primary interface of objects.title 
PASS Stringification of objects.title 
PASS SVGElement interface: objects.title must inherit property "className" with the proper type 
PASS SVGElement interface: objects.title must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.title must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.title must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.title must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGSymbolElement interface: existence and properties of interface object 
PASS SVGSymbolElement interface object length 
PASS SVGSymbolElement interface object name 
PASS SVGSymbolElement interface: existence and properties of interface prototype object 
PASS SVGSymbolElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGSymbolElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGSymbolElement interface: attribute viewBox 
PASS SVGSymbolElement interface: attribute preserveAspectRatio 
PASS SVGSymbolElement must be primary interface of objects.symbol 
PASS Stringification of objects.symbol 
PASS SVGSymbolElement interface: objects.symbol must inherit property "viewBox" with the proper type 
PASS SVGSymbolElement interface: objects.symbol must inherit property "preserveAspectRatio" with the proper type 
PASS SVGGraphicsElement interface: objects.symbol must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.symbol must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.symbol with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.symbol must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.symbol must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.symbol must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.symbol must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.symbol must inherit property "className" with the proper type 
PASS SVGElement interface: objects.symbol must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.symbol must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.symbol must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.symbol must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGUseElement interface: existence and properties of interface object 
PASS SVGUseElement interface object length 
PASS SVGUseElement interface object name 
PASS SVGUseElement interface: existence and properties of interface prototype object 
PASS SVGUseElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGUseElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGUseElement interface: attribute x 
PASS SVGUseElement interface: attribute y 
PASS SVGUseElement interface: attribute width 
PASS SVGUseElement interface: attribute height 
FAIL SVGUseElement interface: attribute instanceRoot assert_true: The prototype object must have a property "instanceRoot" expected true got false
FAIL SVGUseElement interface: attribute animatedInstanceRoot assert_true: The prototype object must have a property "animatedInstanceRoot" expected true got false
PASS SVGUseElement interface: attribute href 
PASS SVGUseElement must be primary interface of objects.use 
PASS Stringification of objects.use 
PASS SVGUseElement interface: objects.use must inherit property "x" with the proper type 
PASS SVGUseElement interface: objects.use must inherit property "y" with the proper type 
PASS SVGUseElement interface: objects.use must inherit property "width" with the proper type 
PASS SVGUseElement interface: objects.use must inherit property "height" with the proper type 
FAIL SVGUseElement interface: objects.use must inherit property "instanceRoot" with the proper type assert_inherits: property "instanceRoot" not found in prototype chain
FAIL SVGUseElement interface: objects.use must inherit property "animatedInstanceRoot" with the proper type assert_inherits: property "animatedInstanceRoot" not found in prototype chain
PASS SVGUseElement interface: objects.use must inherit property "href" with the proper type 
PASS SVGGraphicsElement interface: objects.use must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.use must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.use with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.use must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.use must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.use must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.use must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.use must inherit property "className" with the proper type 
PASS SVGElement interface: objects.use must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.use must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.use must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.use must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
FAIL SVGUseElementShadowRoot interface: existence and properties of interface object assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing
FAIL SVGUseElementShadowRoot interface object length assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing
FAIL SVGUseElementShadowRoot interface object name assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing
FAIL SVGUseElementShadowRoot interface: existence and properties of interface prototype object assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing
FAIL SVGUseElementShadowRoot interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing
FAIL SVGUseElementShadowRoot interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "SVGUseElementShadowRoot" expected property "SVGUseElementShadowRoot" missing
FAIL ShadowAnimation interface: existence and properties of interface object assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing
FAIL ShadowAnimation interface object length assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing
FAIL ShadowAnimation interface object name assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing
FAIL ShadowAnimation interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing
FAIL ShadowAnimation interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing
FAIL ShadowAnimation interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing
FAIL ShadowAnimation interface: attribute sourceAnimation assert_own_property: self does not have own property "ShadowAnimation" expected property "ShadowAnimation" missing
PASS SVGSwitchElement interface: existence and properties of interface object 
PASS SVGSwitchElement interface object length 
PASS SVGSwitchElement interface object name 
PASS SVGSwitchElement interface: existence and properties of interface prototype object 
PASS SVGSwitchElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGSwitchElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGSwitchElement must be primary interface of objects.switch 
PASS Stringification of objects.switch 
PASS SVGGraphicsElement interface: objects.switch must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.switch must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.switch with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.switch must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.switch must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.switch must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.switch must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.switch must inherit property "className" with the proper type 
PASS SVGElement interface: objects.switch must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.switch must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.switch must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.switch must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGStyleElement interface: existence and properties of interface object 
PASS SVGStyleElement interface object length 
PASS SVGStyleElement interface object name 
PASS SVGStyleElement interface: existence and properties of interface prototype object 
PASS SVGStyleElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGStyleElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGStyleElement interface: attribute type 
PASS SVGStyleElement interface: attribute media 
PASS SVGStyleElement interface: attribute title 
PASS SVGStyleElement must be primary interface of objects.style 
PASS Stringification of objects.style 
PASS SVGStyleElement interface: objects.style must inherit property "type" with the proper type 
PASS SVGStyleElement interface: objects.style must inherit property "media" with the proper type 
PASS SVGStyleElement interface: objects.style must inherit property "title" with the proper type 
PASS SVGElement interface: objects.style must inherit property "className" with the proper type 
PASS SVGElement interface: objects.style must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.style must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.style must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.style must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGTransform interface: existence and properties of interface object 
PASS SVGTransform interface object length 
PASS SVGTransform interface object name 
PASS SVGTransform interface: existence and properties of interface prototype object 
PASS SVGTransform interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGTransform interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGTransform interface: constant SVG_TRANSFORM_UNKNOWN on interface object 
PASS SVGTransform interface: constant SVG_TRANSFORM_UNKNOWN on interface prototype object 
PASS SVGTransform interface: constant SVG_TRANSFORM_MATRIX on interface object 
PASS SVGTransform interface: constant SVG_TRANSFORM_MATRIX on interface prototype object 
PASS SVGTransform interface: constant SVG_TRANSFORM_TRANSLATE on interface object 
PASS SVGTransform interface: constant SVG_TRANSFORM_TRANSLATE on interface prototype object 
PASS SVGTransform interface: constant SVG_TRANSFORM_SCALE on interface object 
PASS SVGTransform interface: constant SVG_TRANSFORM_SCALE on interface prototype object 
PASS SVGTransform interface: constant SVG_TRANSFORM_ROTATE on interface object 
PASS SVGTransform interface: constant SVG_TRANSFORM_ROTATE on interface prototype object 
PASS SVGTransform interface: constant SVG_TRANSFORM_SKEWX on interface object 
PASS SVGTransform interface: constant SVG_TRANSFORM_SKEWX on interface prototype object 
PASS SVGTransform interface: constant SVG_TRANSFORM_SKEWY on interface object 
PASS SVGTransform interface: constant SVG_TRANSFORM_SKEWY on interface prototype object 
PASS SVGTransform interface: attribute type 
PASS SVGTransform interface: attribute matrix 
PASS SVGTransform interface: attribute angle 
PASS SVGTransform interface: operation setMatrix(DOMMatrix2DInit) 
PASS SVGTransform interface: operation setTranslate(float, float) 
PASS SVGTransform interface: operation setScale(float, float) 
PASS SVGTransform interface: operation setRotate(float, float, float) 
PASS SVGTransform interface: operation setSkewX(float) 
PASS SVGTransform interface: operation setSkewY(float) 
PASS SVGTransform must be primary interface of objects.svg.createSVGTransform() 
PASS Stringification of objects.svg.createSVGTransform() 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_UNKNOWN" with the proper type 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_MATRIX" with the proper type 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_TRANSLATE" with the proper type 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_SCALE" with the proper type 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_ROTATE" with the proper type 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_SKEWX" with the proper type 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "SVG_TRANSFORM_SKEWY" with the proper type 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "type" with the proper type 
FAIL SVGTransform interface: objects.svg.createSVGTransform() must inherit property "matrix" with the proper type Unrecognized type DOMMatrix
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "angle" with the proper type 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setMatrix(DOMMatrix2DInit)" with the proper type 
PASS SVGTransform interface: calling setMatrix(DOMMatrix2DInit) on objects.svg.createSVGTransform() with too few arguments must throw TypeError 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setTranslate(float, float)" with the proper type 
PASS SVGTransform interface: calling setTranslate(float, float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setScale(float, float)" with the proper type 
PASS SVGTransform interface: calling setScale(float, float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setRotate(float, float, float)" with the proper type 
PASS SVGTransform interface: calling setRotate(float, float, float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setSkewX(float)" with the proper type 
PASS SVGTransform interface: calling setSkewX(float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError 
PASS SVGTransform interface: objects.svg.createSVGTransform() must inherit property "setSkewY(float)" with the proper type 
PASS SVGTransform interface: calling setSkewY(float) on objects.svg.createSVGTransform() with too few arguments must throw TypeError 
PASS SVGTransformList interface: existence and properties of interface object 
PASS SVGTransformList interface object length 
PASS SVGTransformList interface object name 
PASS SVGTransformList interface: existence and properties of interface prototype object 
PASS SVGTransformList interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGTransformList interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGTransformList interface: attribute length 
PASS SVGTransformList interface: attribute numberOfItems 
PASS SVGTransformList interface: operation clear() 
PASS SVGTransformList interface: operation initialize(SVGTransform) 
PASS SVGTransformList interface: operation getItem(unsigned long) 
PASS SVGTransformList interface: operation insertItemBefore(SVGTransform, unsigned long) 
PASS SVGTransformList interface: operation replaceItem(SVGTransform, unsigned long) 
PASS SVGTransformList interface: operation removeItem(unsigned long) 
PASS SVGTransformList interface: operation appendItem(SVGTransform) 
PASS SVGTransformList interface: operation createSVGTransformFromMatrix(DOMMatrix2DInit) 
PASS SVGTransformList interface: operation consolidate() 
PASS SVGTransformList must be primary interface of objects.pattern.patternTransform.baseVal 
PASS Stringification of objects.pattern.patternTransform.baseVal 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "length" with the proper type 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "numberOfItems" with the proper type 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "clear()" with the proper type 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "initialize(SVGTransform)" with the proper type 
PASS SVGTransformList interface: calling initialize(SVGTransform) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "getItem(unsigned long)" with the proper type 
PASS SVGTransformList interface: calling getItem(unsigned long) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "insertItemBefore(SVGTransform, unsigned long)" with the proper type 
PASS SVGTransformList interface: calling insertItemBefore(SVGTransform, unsigned long) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "replaceItem(SVGTransform, unsigned long)" with the proper type 
PASS SVGTransformList interface: calling replaceItem(SVGTransform, unsigned long) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "removeItem(unsigned long)" with the proper type 
PASS SVGTransformList interface: calling removeItem(unsigned long) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "appendItem(SVGTransform)" with the proper type 
PASS SVGTransformList interface: calling appendItem(SVGTransform) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "createSVGTransformFromMatrix(DOMMatrix2DInit)" with the proper type 
PASS SVGTransformList interface: calling createSVGTransformFromMatrix(DOMMatrix2DInit) on objects.pattern.patternTransform.baseVal with too few arguments must throw TypeError 
PASS SVGTransformList interface: objects.pattern.patternTransform.baseVal must inherit property "consolidate()" with the proper type 
PASS SVGAnimatedTransformList interface: existence and properties of interface object 
PASS SVGAnimatedTransformList interface object length 
PASS SVGAnimatedTransformList interface object name 
PASS SVGAnimatedTransformList interface: existence and properties of interface prototype object 
PASS SVGAnimatedTransformList interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedTransformList interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedTransformList interface: attribute baseVal 
PASS SVGAnimatedTransformList interface: attribute animVal 
PASS SVGAnimatedTransformList must be primary interface of objects.pattern.patternTransform 
PASS Stringification of objects.pattern.patternTransform 
PASS SVGAnimatedTransformList interface: objects.pattern.patternTransform must inherit property "baseVal" with the proper type 
PASS SVGAnimatedTransformList interface: objects.pattern.patternTransform must inherit property "animVal" with the proper type 
PASS SVGPreserveAspectRatio interface: existence and properties of interface object 
PASS SVGPreserveAspectRatio interface object length 
PASS SVGPreserveAspectRatio interface object name 
PASS SVGPreserveAspectRatio interface: existence and properties of interface prototype object 
PASS SVGPreserveAspectRatio interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGPreserveAspectRatio interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_UNKNOWN on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_UNKNOWN on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_NONE on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_NONE on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMIN on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMIN on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMIN on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMIN on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMIN on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMIN on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMID on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMID on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMID on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMID on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMID on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMID on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMAX on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMINYMAX on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMAX on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMIDYMAX on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMAX on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_PRESERVEASPECTRATIO_XMAXYMAX on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_UNKNOWN on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_UNKNOWN on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_MEET on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_MEET on interface prototype object 
PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_SLICE on interface object 
PASS SVGPreserveAspectRatio interface: constant SVG_MEETORSLICE_SLICE on interface prototype object 
PASS SVGPreserveAspectRatio interface: attribute align 
PASS SVGPreserveAspectRatio interface: attribute meetOrSlice 
PASS SVGPreserveAspectRatio must be primary interface of objects.image.preserveAspectRatio.baseVal 
PASS Stringification of objects.image.preserveAspectRatio.baseVal 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_UNKNOWN" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_NONE" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMINYMIN" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMIDYMIN" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMAXYMIN" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMINYMID" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMIDYMID" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMAXYMID" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMINYMAX" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMIDYMAX" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_PRESERVEASPECTRATIO_XMAXYMAX" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_MEETORSLICE_UNKNOWN" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_MEETORSLICE_MEET" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "SVG_MEETORSLICE_SLICE" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "align" with the proper type 
PASS SVGPreserveAspectRatio interface: objects.image.preserveAspectRatio.baseVal must inherit property "meetOrSlice" with the proper type 
PASS SVGAnimatedPreserveAspectRatio interface: existence and properties of interface object 
PASS SVGAnimatedPreserveAspectRatio interface object length 
PASS SVGAnimatedPreserveAspectRatio interface object name 
PASS SVGAnimatedPreserveAspectRatio interface: existence and properties of interface prototype object 
PASS SVGAnimatedPreserveAspectRatio interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAnimatedPreserveAspectRatio interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAnimatedPreserveAspectRatio interface: attribute baseVal 
PASS SVGAnimatedPreserveAspectRatio interface: attribute animVal 
PASS SVGAnimatedPreserveAspectRatio must be primary interface of objects.image.preserveAspectRatio 
PASS Stringification of objects.image.preserveAspectRatio 
PASS SVGAnimatedPreserveAspectRatio interface: objects.image.preserveAspectRatio must inherit property "baseVal" with the proper type 
PASS SVGAnimatedPreserveAspectRatio interface: objects.image.preserveAspectRatio must inherit property "animVal" with the proper type 
PASS SVGPathElement interface: existence and properties of interface object 
PASS SVGPathElement interface object length 
PASS SVGPathElement interface object name 
PASS SVGPathElement interface: existence and properties of interface prototype object 
PASS SVGPathElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGPathElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGPathElement must be primary interface of objects.path 
PASS Stringification of objects.path 
PASS SVGGeometryElement interface: objects.path must inherit property "pathLength" with the proper type 
PASS SVGGeometryElement interface: objects.path must inherit property "isPointInFill(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.path with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.path must inherit property "isPointInStroke(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.path with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.path must inherit property "getTotalLength()" with the proper type 
PASS SVGGeometryElement interface: objects.path must inherit property "getPointAtLength(float)" with the proper type 
PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.path with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.path must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.path must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.path with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.path must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.path must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.path must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.path must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.path must inherit property "className" with the proper type 
PASS SVGElement interface: objects.path must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.path must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.path must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.path must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGRectElement interface: existence and properties of interface object 
PASS SVGRectElement interface object length 
PASS SVGRectElement interface object name 
PASS SVGRectElement interface: existence and properties of interface prototype object 
PASS SVGRectElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGRectElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGRectElement interface: attribute x 
PASS SVGRectElement interface: attribute y 
PASS SVGRectElement interface: attribute width 
PASS SVGRectElement interface: attribute height 
PASS SVGRectElement interface: attribute rx 
PASS SVGRectElement interface: attribute ry 
PASS SVGRectElement must be primary interface of objects.rect 
PASS Stringification of objects.rect 
PASS SVGRectElement interface: objects.rect must inherit property "x" with the proper type 
PASS SVGRectElement interface: objects.rect must inherit property "y" with the proper type 
PASS SVGRectElement interface: objects.rect must inherit property "width" with the proper type 
PASS SVGRectElement interface: objects.rect must inherit property "height" with the proper type 
PASS SVGRectElement interface: objects.rect must inherit property "rx" with the proper type 
PASS SVGRectElement interface: objects.rect must inherit property "ry" with the proper type 
PASS SVGGeometryElement interface: objects.rect must inherit property "pathLength" with the proper type 
PASS SVGGeometryElement interface: objects.rect must inherit property "isPointInFill(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.rect with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.rect must inherit property "isPointInStroke(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.rect with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.rect must inherit property "getTotalLength()" with the proper type 
PASS SVGGeometryElement interface: objects.rect must inherit property "getPointAtLength(float)" with the proper type 
PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.rect with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.rect must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.rect must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.rect with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.rect must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.rect must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.rect must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.rect must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.rect must inherit property "className" with the proper type 
PASS SVGElement interface: objects.rect must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.rect must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.rect must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.rect must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGCircleElement interface: existence and properties of interface object 
PASS SVGCircleElement interface object length 
PASS SVGCircleElement interface object name 
PASS SVGCircleElement interface: existence and properties of interface prototype object 
PASS SVGCircleElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGCircleElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGCircleElement interface: attribute cx 
PASS SVGCircleElement interface: attribute cy 
PASS SVGCircleElement interface: attribute r 
PASS SVGCircleElement must be primary interface of objects.circle 
PASS Stringification of objects.circle 
PASS SVGCircleElement interface: objects.circle must inherit property "cx" with the proper type 
PASS SVGCircleElement interface: objects.circle must inherit property "cy" with the proper type 
PASS SVGCircleElement interface: objects.circle must inherit property "r" with the proper type 
PASS SVGGeometryElement interface: objects.circle must inherit property "pathLength" with the proper type 
PASS SVGGeometryElement interface: objects.circle must inherit property "isPointInFill(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.circle with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.circle must inherit property "isPointInStroke(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.circle with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.circle must inherit property "getTotalLength()" with the proper type 
PASS SVGGeometryElement interface: objects.circle must inherit property "getPointAtLength(float)" with the proper type 
PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.circle with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.circle must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.circle must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.circle with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.circle must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.circle must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.circle must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.circle must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.circle must inherit property "className" with the proper type 
PASS SVGElement interface: objects.circle must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.circle must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.circle must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.circle must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGEllipseElement interface: existence and properties of interface object 
PASS SVGEllipseElement interface object length 
PASS SVGEllipseElement interface object name 
PASS SVGEllipseElement interface: existence and properties of interface prototype object 
PASS SVGEllipseElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGEllipseElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGEllipseElement interface: attribute cx 
PASS SVGEllipseElement interface: attribute cy 
PASS SVGEllipseElement interface: attribute rx 
PASS SVGEllipseElement interface: attribute ry 
PASS SVGEllipseElement must be primary interface of objects.ellipse 
PASS Stringification of objects.ellipse 
PASS SVGEllipseElement interface: objects.ellipse must inherit property "cx" with the proper type 
PASS SVGEllipseElement interface: objects.ellipse must inherit property "cy" with the proper type 
PASS SVGEllipseElement interface: objects.ellipse must inherit property "rx" with the proper type 
PASS SVGEllipseElement interface: objects.ellipse must inherit property "ry" with the proper type 
PASS SVGGeometryElement interface: objects.ellipse must inherit property "pathLength" with the proper type 
PASS SVGGeometryElement interface: objects.ellipse must inherit property "isPointInFill(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.ellipse with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.ellipse must inherit property "isPointInStroke(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.ellipse with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.ellipse must inherit property "getTotalLength()" with the proper type 
PASS SVGGeometryElement interface: objects.ellipse must inherit property "getPointAtLength(float)" with the proper type 
PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.ellipse with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.ellipse must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.ellipse must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.ellipse with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.ellipse must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.ellipse must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.ellipse must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.ellipse must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.ellipse must inherit property "className" with the proper type 
PASS SVGElement interface: objects.ellipse must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.ellipse must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.ellipse must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.ellipse must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGLineElement interface: existence and properties of interface object 
PASS SVGLineElement interface object length 
PASS SVGLineElement interface object name 
PASS SVGLineElement interface: existence and properties of interface prototype object 
PASS SVGLineElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGLineElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGLineElement interface: attribute x1 
PASS SVGLineElement interface: attribute y1 
PASS SVGLineElement interface: attribute x2 
PASS SVGLineElement interface: attribute y2 
PASS SVGLineElement must be primary interface of objects.line 
PASS Stringification of objects.line 
PASS SVGLineElement interface: objects.line must inherit property "x1" with the proper type 
PASS SVGLineElement interface: objects.line must inherit property "y1" with the proper type 
PASS SVGLineElement interface: objects.line must inherit property "x2" with the proper type 
PASS SVGLineElement interface: objects.line must inherit property "y2" with the proper type 
PASS SVGGeometryElement interface: objects.line must inherit property "pathLength" with the proper type 
PASS SVGGeometryElement interface: objects.line must inherit property "isPointInFill(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.line with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.line must inherit property "isPointInStroke(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.line with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.line must inherit property "getTotalLength()" with the proper type 
PASS SVGGeometryElement interface: objects.line must inherit property "getPointAtLength(float)" with the proper type 
PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.line with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.line must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.line must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.line with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.line must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.line must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.line must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.line must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.line must inherit property "className" with the proper type 
PASS SVGElement interface: objects.line must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.line must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.line must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.line must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGPointList interface: existence and properties of interface object 
PASS SVGPointList interface object length 
PASS SVGPointList interface object name 
PASS SVGPointList interface: existence and properties of interface prototype object 
PASS SVGPointList interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGPointList interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGPointList interface: attribute length 
PASS SVGPointList interface: attribute numberOfItems 
PASS SVGPointList interface: operation clear() 
PASS SVGPointList interface: operation initialize(DOMPoint) 
PASS SVGPointList interface: operation getItem(unsigned long) 
PASS SVGPointList interface: operation insertItemBefore(DOMPoint, unsigned long) 
PASS SVGPointList interface: operation replaceItem(DOMPoint, unsigned long) 
PASS SVGPointList interface: operation removeItem(unsigned long) 
PASS SVGPointList interface: operation appendItem(DOMPoint) 
PASS SVGPointList must be primary interface of objects.polygon.points 
PASS Stringification of objects.polygon.points 
PASS SVGPointList interface: objects.polygon.points must inherit property "length" with the proper type 
PASS SVGPointList interface: objects.polygon.points must inherit property "numberOfItems" with the proper type 
PASS SVGPointList interface: objects.polygon.points must inherit property "clear()" with the proper type 
PASS SVGPointList interface: objects.polygon.points must inherit property "initialize(DOMPoint)" with the proper type 
PASS SVGPointList interface: calling initialize(DOMPoint) on objects.polygon.points with too few arguments must throw TypeError 
PASS SVGPointList interface: objects.polygon.points must inherit property "getItem(unsigned long)" with the proper type 
PASS SVGPointList interface: calling getItem(unsigned long) on objects.polygon.points with too few arguments must throw TypeError 
PASS SVGPointList interface: objects.polygon.points must inherit property "insertItemBefore(DOMPoint, unsigned long)" with the proper type 
PASS SVGPointList interface: calling insertItemBefore(DOMPoint, unsigned long) on objects.polygon.points with too few arguments must throw TypeError 
PASS SVGPointList interface: objects.polygon.points must inherit property "replaceItem(DOMPoint, unsigned long)" with the proper type 
PASS SVGPointList interface: calling replaceItem(DOMPoint, unsigned long) on objects.polygon.points with too few arguments must throw TypeError 
PASS SVGPointList interface: objects.polygon.points must inherit property "removeItem(unsigned long)" with the proper type 
PASS SVGPointList interface: calling removeItem(unsigned long) on objects.polygon.points with too few arguments must throw TypeError 
PASS SVGPointList interface: objects.polygon.points must inherit property "appendItem(DOMPoint)" with the proper type 
PASS SVGPointList interface: calling appendItem(DOMPoint) on objects.polygon.points with too few arguments must throw TypeError 
PASS SVGPolylineElement interface: existence and properties of interface object 
PASS SVGPolylineElement interface object length 
PASS SVGPolylineElement interface object name 
PASS SVGPolylineElement interface: existence and properties of interface prototype object 
PASS SVGPolylineElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGPolylineElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGPolylineElement interface: attribute points 
PASS SVGPolylineElement interface: attribute animatedPoints 
PASS SVGPolylineElement must be primary interface of objects.polyline 
PASS Stringification of objects.polyline 
PASS SVGPolylineElement interface: objects.polyline must inherit property "points" with the proper type 
PASS SVGPolylineElement interface: objects.polyline must inherit property "animatedPoints" with the proper type 
PASS SVGGeometryElement interface: objects.polyline must inherit property "pathLength" with the proper type 
PASS SVGGeometryElement interface: objects.polyline must inherit property "isPointInFill(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.polyline with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.polyline must inherit property "isPointInStroke(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.polyline with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.polyline must inherit property "getTotalLength()" with the proper type 
PASS SVGGeometryElement interface: objects.polyline must inherit property "getPointAtLength(float)" with the proper type 
PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.polyline with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.polyline must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.polyline must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.polyline with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.polyline must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.polyline must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.polyline must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.polyline must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.polyline must inherit property "className" with the proper type 
PASS SVGElement interface: objects.polyline must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.polyline must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.polyline must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.polyline must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGPolygonElement interface: existence and properties of interface object 
PASS SVGPolygonElement interface object length 
PASS SVGPolygonElement interface object name 
PASS SVGPolygonElement interface: existence and properties of interface prototype object 
PASS SVGPolygonElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGPolygonElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGPolygonElement interface: attribute points 
PASS SVGPolygonElement interface: attribute animatedPoints 
PASS SVGPolygonElement must be primary interface of objects.polygon 
PASS Stringification of objects.polygon 
PASS SVGPolygonElement interface: objects.polygon must inherit property "points" with the proper type 
PASS SVGPolygonElement interface: objects.polygon must inherit property "animatedPoints" with the proper type 
PASS SVGGeometryElement interface: objects.polygon must inherit property "pathLength" with the proper type 
PASS SVGGeometryElement interface: objects.polygon must inherit property "isPointInFill(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInFill(DOMPointInit) on objects.polygon with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.polygon must inherit property "isPointInStroke(DOMPointInit)" with the proper type 
PASS SVGGeometryElement interface: calling isPointInStroke(DOMPointInit) on objects.polygon with too few arguments must throw TypeError 
PASS SVGGeometryElement interface: objects.polygon must inherit property "getTotalLength()" with the proper type 
PASS SVGGeometryElement interface: objects.polygon must inherit property "getPointAtLength(float)" with the proper type 
PASS SVGGeometryElement interface: calling getPointAtLength(float) on objects.polygon with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.polygon must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.polygon must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.polygon with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.polygon must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.polygon must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.polygon must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.polygon must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.polygon must inherit property "className" with the proper type 
PASS SVGElement interface: objects.polygon must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.polygon must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.polygon must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.polygon must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGTextContentElement interface: existence and properties of interface object 
PASS SVGTextContentElement interface object length 
PASS SVGTextContentElement interface object name 
PASS SVGTextContentElement interface: existence and properties of interface prototype object 
PASS SVGTextContentElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGTextContentElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGTextContentElement interface: constant LENGTHADJUST_UNKNOWN on interface object 
PASS SVGTextContentElement interface: constant LENGTHADJUST_UNKNOWN on interface prototype object 
PASS SVGTextContentElement interface: constant LENGTHADJUST_SPACING on interface object 
PASS SVGTextContentElement interface: constant LENGTHADJUST_SPACING on interface prototype object 
PASS SVGTextContentElement interface: constant LENGTHADJUST_SPACINGANDGLYPHS on interface object 
PASS SVGTextContentElement interface: constant LENGTHADJUST_SPACINGANDGLYPHS on interface prototype object 
PASS SVGTextContentElement interface: attribute textLength 
PASS SVGTextContentElement interface: attribute lengthAdjust 
PASS SVGTextContentElement interface: operation getNumberOfChars() 
PASS SVGTextContentElement interface: operation getComputedTextLength() 
FAIL SVGTextContentElement interface: operation getSubStringLength(unsigned long, unsigned long) assert_equals: property has wrong .length expected 2 but got 0
FAIL SVGTextContentElement interface: operation getStartPositionOfChar(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
FAIL SVGTextContentElement interface: operation getEndPositionOfChar(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
FAIL SVGTextContentElement interface: operation getExtentOfChar(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
FAIL SVGTextContentElement interface: operation getRotationOfChar(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
FAIL SVGTextContentElement interface: operation getCharNumAtPosition(DOMPointInit) assert_equals: property has wrong .length expected 0 but got 1
FAIL SVGTextContentElement interface: operation selectSubString(unsigned long, unsigned long) assert_equals: property has wrong .length expected 2 but got 0
PASS SVGTextPositioningElement interface: existence and properties of interface object 
PASS SVGTextPositioningElement interface object length 
PASS SVGTextPositioningElement interface object name 
PASS SVGTextPositioningElement interface: existence and properties of interface prototype object 
PASS SVGTextPositioningElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGTextPositioningElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGTextPositioningElement interface: attribute x 
PASS SVGTextPositioningElement interface: attribute y 
PASS SVGTextPositioningElement interface: attribute dx 
PASS SVGTextPositioningElement interface: attribute dy 
PASS SVGTextPositioningElement interface: attribute rotate 
PASS SVGTextElement interface: existence and properties of interface object 
PASS SVGTextElement interface object length 
PASS SVGTextElement interface object name 
PASS SVGTextElement interface: existence and properties of interface prototype object 
PASS SVGTextElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGTextElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGTextElement must be primary interface of objects.text 
PASS Stringification of objects.text 
PASS SVGTextPositioningElement interface: objects.text must inherit property "x" with the proper type 
PASS SVGTextPositioningElement interface: objects.text must inherit property "y" with the proper type 
PASS SVGTextPositioningElement interface: objects.text must inherit property "dx" with the proper type 
PASS SVGTextPositioningElement interface: objects.text must inherit property "dy" with the proper type 
PASS SVGTextPositioningElement interface: objects.text must inherit property "rotate" with the proper type 
PASS SVGTextContentElement interface: objects.text must inherit property "LENGTHADJUST_UNKNOWN" with the proper type 
PASS SVGTextContentElement interface: objects.text must inherit property "LENGTHADJUST_SPACING" with the proper type 
PASS SVGTextContentElement interface: objects.text must inherit property "LENGTHADJUST_SPACINGANDGLYPHS" with the proper type 
PASS SVGTextContentElement interface: objects.text must inherit property "textLength" with the proper type 
PASS SVGTextContentElement interface: objects.text must inherit property "lengthAdjust" with the proper type 
PASS SVGTextContentElement interface: objects.text must inherit property "getNumberOfChars()" with the proper type 
PASS SVGTextContentElement interface: objects.text must inherit property "getComputedTextLength()" with the proper type 
PASS SVGTextContentElement interface: objects.text must inherit property "getSubStringLength(unsigned long, unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getSubStringLength(unsigned long, unsigned long) on objects.text with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" threw object "IndexSizeError: The index is not in the allowed range." ("IndexSizeError") expected object "TypeError" ("TypeError")
PASS SVGTextContentElement interface: objects.text must inherit property "getStartPositionOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getStartPositionOfChar(unsigned long) on objects.text with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.text must inherit property "getEndPositionOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getEndPositionOfChar(unsigned long) on objects.text with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.text must inherit property "getExtentOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getExtentOfChar(unsigned long) on objects.text with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.text must inherit property "getRotationOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getRotationOfChar(unsigned long) on objects.text with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.text must inherit property "getCharNumAtPosition(DOMPointInit)" with the proper type 
PASS SVGTextContentElement interface: calling getCharNumAtPosition(DOMPointInit) on objects.text with too few arguments must throw TypeError 
PASS SVGTextContentElement interface: objects.text must inherit property "selectSubString(unsigned long, unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling selectSubString(unsigned long, unsigned long) on objects.text with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" threw object "IndexSizeError: The index is not in the allowed range." ("IndexSizeError") expected object "TypeError" ("TypeError")
PASS SVGGraphicsElement interface: objects.text must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.text must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.text with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.text must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.text must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.text must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.text must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.text must inherit property "className" with the proper type 
PASS SVGElement interface: objects.text must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.text must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.text must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.text must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGTSpanElement interface: existence and properties of interface object 
PASS SVGTSpanElement interface object length 
PASS SVGTSpanElement interface object name 
PASS SVGTSpanElement interface: existence and properties of interface prototype object 
PASS SVGTSpanElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGTSpanElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGTSpanElement must be primary interface of objects.tspan 
PASS Stringification of objects.tspan 
PASS SVGTextPositioningElement interface: objects.tspan must inherit property "x" with the proper type 
PASS SVGTextPositioningElement interface: objects.tspan must inherit property "y" with the proper type 
PASS SVGTextPositioningElement interface: objects.tspan must inherit property "dx" with the proper type 
PASS SVGTextPositioningElement interface: objects.tspan must inherit property "dy" with the proper type 
PASS SVGTextPositioningElement interface: objects.tspan must inherit property "rotate" with the proper type 
PASS SVGTextContentElement interface: objects.tspan must inherit property "LENGTHADJUST_UNKNOWN" with the proper type 
PASS SVGTextContentElement interface: objects.tspan must inherit property "LENGTHADJUST_SPACING" with the proper type 
PASS SVGTextContentElement interface: objects.tspan must inherit property "LENGTHADJUST_SPACINGANDGLYPHS" with the proper type 
PASS SVGTextContentElement interface: objects.tspan must inherit property "textLength" with the proper type 
PASS SVGTextContentElement interface: objects.tspan must inherit property "lengthAdjust" with the proper type 
PASS SVGTextContentElement interface: objects.tspan must inherit property "getNumberOfChars()" with the proper type 
PASS SVGTextContentElement interface: objects.tspan must inherit property "getComputedTextLength()" with the proper type 
PASS SVGTextContentElement interface: objects.tspan must inherit property "getSubStringLength(unsigned long, unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getSubStringLength(unsigned long, unsigned long) on objects.tspan with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" threw object "IndexSizeError: The index is not in the allowed range." ("IndexSizeError") expected object "TypeError" ("TypeError")
PASS SVGTextContentElement interface: objects.tspan must inherit property "getStartPositionOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getStartPositionOfChar(unsigned long) on objects.tspan with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.tspan must inherit property "getEndPositionOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getEndPositionOfChar(unsigned long) on objects.tspan with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.tspan must inherit property "getExtentOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getExtentOfChar(unsigned long) on objects.tspan with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.tspan must inherit property "getRotationOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getRotationOfChar(unsigned long) on objects.tspan with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.tspan must inherit property "getCharNumAtPosition(DOMPointInit)" with the proper type 
PASS SVGTextContentElement interface: calling getCharNumAtPosition(DOMPointInit) on objects.tspan with too few arguments must throw TypeError 
PASS SVGTextContentElement interface: objects.tspan must inherit property "selectSubString(unsigned long, unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling selectSubString(unsigned long, unsigned long) on objects.tspan with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" threw object "IndexSizeError: The index is not in the allowed range." ("IndexSizeError") expected object "TypeError" ("TypeError")
PASS SVGGraphicsElement interface: objects.tspan must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.tspan must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.tspan with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.tspan must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.tspan must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.tspan must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.tspan must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.tspan must inherit property "className" with the proper type 
PASS SVGElement interface: objects.tspan must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.tspan must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.tspan must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.tspan must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGTextPathElement interface: existence and properties of interface object 
PASS SVGTextPathElement interface object length 
PASS SVGTextPathElement interface object name 
PASS SVGTextPathElement interface: existence and properties of interface prototype object 
PASS SVGTextPathElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGTextPathElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_UNKNOWN on interface object 
PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_UNKNOWN on interface prototype object 
PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_ALIGN on interface object 
PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_ALIGN on interface prototype object 
PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_STRETCH on interface object 
PASS SVGTextPathElement interface: constant TEXTPATH_METHODTYPE_STRETCH on interface prototype object 
PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_UNKNOWN on interface object 
PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_UNKNOWN on interface prototype object 
PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_AUTO on interface object 
PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_AUTO on interface prototype object 
PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_EXACT on interface object 
PASS SVGTextPathElement interface: constant TEXTPATH_SPACINGTYPE_EXACT on interface prototype object 
PASS SVGTextPathElement interface: attribute startOffset 
PASS SVGTextPathElement interface: attribute method 
PASS SVGTextPathElement interface: attribute spacing 
PASS SVGTextPathElement interface: attribute href 
PASS SVGTextPathElement must be primary interface of objects.textPath 
PASS Stringification of objects.textPath 
PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_METHODTYPE_UNKNOWN" with the proper type 
PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_METHODTYPE_ALIGN" with the proper type 
PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_METHODTYPE_STRETCH" with the proper type 
PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_SPACINGTYPE_UNKNOWN" with the proper type 
PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_SPACINGTYPE_AUTO" with the proper type 
PASS SVGTextPathElement interface: objects.textPath must inherit property "TEXTPATH_SPACINGTYPE_EXACT" with the proper type 
PASS SVGTextPathElement interface: objects.textPath must inherit property "startOffset" with the proper type 
PASS SVGTextPathElement interface: objects.textPath must inherit property "method" with the proper type 
PASS SVGTextPathElement interface: objects.textPath must inherit property "spacing" with the proper type 
PASS SVGTextPathElement interface: objects.textPath must inherit property "href" with the proper type 
PASS SVGTextContentElement interface: objects.textPath must inherit property "LENGTHADJUST_UNKNOWN" with the proper type 
PASS SVGTextContentElement interface: objects.textPath must inherit property "LENGTHADJUST_SPACING" with the proper type 
PASS SVGTextContentElement interface: objects.textPath must inherit property "LENGTHADJUST_SPACINGANDGLYPHS" with the proper type 
PASS SVGTextContentElement interface: objects.textPath must inherit property "textLength" with the proper type 
PASS SVGTextContentElement interface: objects.textPath must inherit property "lengthAdjust" with the proper type 
PASS SVGTextContentElement interface: objects.textPath must inherit property "getNumberOfChars()" with the proper type 
PASS SVGTextContentElement interface: objects.textPath must inherit property "getComputedTextLength()" with the proper type 
PASS SVGTextContentElement interface: objects.textPath must inherit property "getSubStringLength(unsigned long, unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getSubStringLength(unsigned long, unsigned long) on objects.textPath with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" threw object "IndexSizeError: The index is not in the allowed range." ("IndexSizeError") expected object "TypeError" ("TypeError")
PASS SVGTextContentElement interface: objects.textPath must inherit property "getStartPositionOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getStartPositionOfChar(unsigned long) on objects.textPath with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.textPath must inherit property "getEndPositionOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getEndPositionOfChar(unsigned long) on objects.textPath with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.textPath must inherit property "getExtentOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getExtentOfChar(unsigned long) on objects.textPath with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.textPath must inherit property "getRotationOfChar(unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling getRotationOfChar(unsigned long) on objects.textPath with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" did not throw
PASS SVGTextContentElement interface: objects.textPath must inherit property "getCharNumAtPosition(DOMPointInit)" with the proper type 
PASS SVGTextContentElement interface: calling getCharNumAtPosition(DOMPointInit) on objects.textPath with too few arguments must throw TypeError 
PASS SVGTextContentElement interface: objects.textPath must inherit property "selectSubString(unsigned long, unsigned long)" with the proper type 
FAIL SVGTextContentElement interface: calling selectSubString(unsigned long, unsigned long) on objects.textPath with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" threw object "IndexSizeError: The index is not in the allowed range." ("IndexSizeError") expected object "TypeError" ("TypeError")
PASS SVGGraphicsElement interface: objects.textPath must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.textPath must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.textPath with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.textPath must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.textPath must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.textPath must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.textPath must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.textPath must inherit property "className" with the proper type 
PASS SVGElement interface: objects.textPath must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.textPath must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.textPath must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.textPath must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGImageElement interface: existence and properties of interface object 
PASS SVGImageElement interface object length 
PASS SVGImageElement interface object name 
PASS SVGImageElement interface: existence and properties of interface prototype object 
PASS SVGImageElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGImageElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGImageElement interface: attribute x 
PASS SVGImageElement interface: attribute y 
PASS SVGImageElement interface: attribute width 
PASS SVGImageElement interface: attribute height 
PASS SVGImageElement interface: attribute preserveAspectRatio 
FAIL SVGImageElement interface: attribute crossOrigin assert_true: The prototype object must have a property "crossOrigin" expected true got false
PASS SVGImageElement interface: attribute href 
PASS SVGImageElement must be primary interface of objects.image 
PASS Stringification of objects.image 
PASS SVGImageElement interface: objects.image must inherit property "x" with the proper type 
PASS SVGImageElement interface: objects.image must inherit property "y" with the proper type 
PASS SVGImageElement interface: objects.image must inherit property "width" with the proper type 
PASS SVGImageElement interface: objects.image must inherit property "height" with the proper type 
PASS SVGImageElement interface: objects.image must inherit property "preserveAspectRatio" with the proper type 
FAIL SVGImageElement interface: objects.image must inherit property "crossOrigin" with the proper type assert_inherits: property "crossOrigin" not found in prototype chain
PASS SVGImageElement interface: objects.image must inherit property "href" with the proper type 
PASS SVGGraphicsElement interface: objects.image must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.image must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.image with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.image must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.image must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.image must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.image must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.image must inherit property "className" with the proper type 
PASS SVGElement interface: objects.image must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.image must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.image must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.image must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGForeignObjectElement interface: existence and properties of interface object 
PASS SVGForeignObjectElement interface object length 
PASS SVGForeignObjectElement interface object name 
PASS SVGForeignObjectElement interface: existence and properties of interface prototype object 
PASS SVGForeignObjectElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGForeignObjectElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGForeignObjectElement interface: attribute x 
PASS SVGForeignObjectElement interface: attribute y 
PASS SVGForeignObjectElement interface: attribute width 
PASS SVGForeignObjectElement interface: attribute height 
PASS SVGForeignObjectElement must be primary interface of objects.foreignObject 
PASS Stringification of objects.foreignObject 
PASS SVGForeignObjectElement interface: objects.foreignObject must inherit property "x" with the proper type 
PASS SVGForeignObjectElement interface: objects.foreignObject must inherit property "y" with the proper type 
PASS SVGForeignObjectElement interface: objects.foreignObject must inherit property "width" with the proper type 
PASS SVGForeignObjectElement interface: objects.foreignObject must inherit property "height" with the proper type 
PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.foreignObject with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.foreignObject must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.foreignObject must inherit property "className" with the proper type 
PASS SVGElement interface: objects.foreignObject must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.foreignObject must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.foreignObject must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.foreignObject must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGMarkerElement interface: existence and properties of interface object 
PASS SVGMarkerElement interface object length 
PASS SVGMarkerElement interface object name 
PASS SVGMarkerElement interface: existence and properties of interface prototype object 
PASS SVGMarkerElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGMarkerElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_UNKNOWN on interface object 
PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_UNKNOWN on interface prototype object 
PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_USERSPACEONUSE on interface object 
PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_USERSPACEONUSE on interface prototype object 
PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_STROKEWIDTH on interface object 
PASS SVGMarkerElement interface: constant SVG_MARKERUNITS_STROKEWIDTH on interface prototype object 
PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_UNKNOWN on interface object 
PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_UNKNOWN on interface prototype object 
PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_AUTO on interface object 
PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_AUTO on interface prototype object 
PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_ANGLE on interface object 
PASS SVGMarkerElement interface: constant SVG_MARKER_ORIENT_ANGLE on interface prototype object 
PASS SVGMarkerElement interface: attribute refX 
PASS SVGMarkerElement interface: attribute refY 
PASS SVGMarkerElement interface: attribute markerUnits 
PASS SVGMarkerElement interface: attribute markerWidth 
PASS SVGMarkerElement interface: attribute markerHeight 
PASS SVGMarkerElement interface: attribute orientType 
PASS SVGMarkerElement interface: attribute orientAngle 
PASS SVGMarkerElement interface: attribute orient 
PASS SVGMarkerElement interface: operation setOrientToAuto() 
PASS SVGMarkerElement interface: operation setOrientToAngle(SVGAngle) 
PASS SVGMarkerElement interface: attribute viewBox 
PASS SVGMarkerElement interface: attribute preserveAspectRatio 
PASS SVGMarkerElement must be primary interface of objects.marker 
PASS Stringification of objects.marker 
PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKERUNITS_UNKNOWN" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKERUNITS_USERSPACEONUSE" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKERUNITS_STROKEWIDTH" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKER_ORIENT_UNKNOWN" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKER_ORIENT_AUTO" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "SVG_MARKER_ORIENT_ANGLE" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "refX" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "refY" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "markerUnits" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "markerWidth" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "markerHeight" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "orientType" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "orientAngle" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "orient" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "setOrientToAuto()" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "setOrientToAngle(SVGAngle)" with the proper type 
PASS SVGMarkerElement interface: calling setOrientToAngle(SVGAngle) on objects.marker with too few arguments must throw TypeError 
PASS SVGMarkerElement interface: objects.marker must inherit property "viewBox" with the proper type 
PASS SVGMarkerElement interface: objects.marker must inherit property "preserveAspectRatio" with the proper type 
PASS SVGElement interface: objects.marker must inherit property "className" with the proper type 
PASS SVGElement interface: objects.marker must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.marker must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.marker must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.marker must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGGradientElement interface: existence and properties of interface object 
PASS SVGGradientElement interface object length 
PASS SVGGradientElement interface object name 
PASS SVGGradientElement interface: existence and properties of interface prototype object 
PASS SVGGradientElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGGradientElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_UNKNOWN on interface object 
PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_UNKNOWN on interface prototype object 
PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_PAD on interface object 
PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_PAD on interface prototype object 
PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_REFLECT on interface object 
PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_REFLECT on interface prototype object 
PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_REPEAT on interface object 
PASS SVGGradientElement interface: constant SVG_SPREADMETHOD_REPEAT on interface prototype object 
PASS SVGGradientElement interface: attribute gradientUnits 
PASS SVGGradientElement interface: attribute gradientTransform 
PASS SVGGradientElement interface: attribute spreadMethod 
PASS SVGGradientElement interface: attribute href 
PASS SVGLinearGradientElement interface: existence and properties of interface object 
PASS SVGLinearGradientElement interface object length 
PASS SVGLinearGradientElement interface object name 
PASS SVGLinearGradientElement interface: existence and properties of interface prototype object 
PASS SVGLinearGradientElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGLinearGradientElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGLinearGradientElement interface: attribute x1 
PASS SVGLinearGradientElement interface: attribute y1 
PASS SVGLinearGradientElement interface: attribute x2 
PASS SVGLinearGradientElement interface: attribute y2 
PASS SVGLinearGradientElement must be primary interface of objects.linearGradient 
PASS Stringification of objects.linearGradient 
PASS SVGLinearGradientElement interface: objects.linearGradient must inherit property "x1" with the proper type 
PASS SVGLinearGradientElement interface: objects.linearGradient must inherit property "y1" with the proper type 
PASS SVGLinearGradientElement interface: objects.linearGradient must inherit property "x2" with the proper type 
PASS SVGLinearGradientElement interface: objects.linearGradient must inherit property "y2" with the proper type 
PASS SVGGradientElement interface: objects.linearGradient must inherit property "SVG_SPREADMETHOD_UNKNOWN" with the proper type 
PASS SVGGradientElement interface: objects.linearGradient must inherit property "SVG_SPREADMETHOD_PAD" with the proper type 
PASS SVGGradientElement interface: objects.linearGradient must inherit property "SVG_SPREADMETHOD_REFLECT" with the proper type 
PASS SVGGradientElement interface: objects.linearGradient must inherit property "SVG_SPREADMETHOD_REPEAT" with the proper type 
PASS SVGGradientElement interface: objects.linearGradient must inherit property "gradientUnits" with the proper type 
PASS SVGGradientElement interface: objects.linearGradient must inherit property "gradientTransform" with the proper type 
PASS SVGGradientElement interface: objects.linearGradient must inherit property "spreadMethod" with the proper type 
PASS SVGGradientElement interface: objects.linearGradient must inherit property "href" with the proper type 
PASS SVGElement interface: objects.linearGradient must inherit property "className" with the proper type 
PASS SVGElement interface: objects.linearGradient must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.linearGradient must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.linearGradient must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.linearGradient must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGRadialGradientElement interface: existence and properties of interface object 
PASS SVGRadialGradientElement interface object length 
PASS SVGRadialGradientElement interface object name 
PASS SVGRadialGradientElement interface: existence and properties of interface prototype object 
PASS SVGRadialGradientElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGRadialGradientElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGRadialGradientElement interface: attribute cx 
PASS SVGRadialGradientElement interface: attribute cy 
PASS SVGRadialGradientElement interface: attribute r 
PASS SVGRadialGradientElement interface: attribute fx 
PASS SVGRadialGradientElement interface: attribute fy 
PASS SVGRadialGradientElement interface: attribute fr 
PASS SVGRadialGradientElement must be primary interface of objects.radialGradient 
PASS Stringification of objects.radialGradient 
PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "cx" with the proper type 
PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "cy" with the proper type 
PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "r" with the proper type 
PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "fx" with the proper type 
PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "fy" with the proper type 
PASS SVGRadialGradientElement interface: objects.radialGradient must inherit property "fr" with the proper type 
PASS SVGGradientElement interface: objects.radialGradient must inherit property "SVG_SPREADMETHOD_UNKNOWN" with the proper type 
PASS SVGGradientElement interface: objects.radialGradient must inherit property "SVG_SPREADMETHOD_PAD" with the proper type 
PASS SVGGradientElement interface: objects.radialGradient must inherit property "SVG_SPREADMETHOD_REFLECT" with the proper type 
PASS SVGGradientElement interface: objects.radialGradient must inherit property "SVG_SPREADMETHOD_REPEAT" with the proper type 
PASS SVGGradientElement interface: objects.radialGradient must inherit property "gradientUnits" with the proper type 
PASS SVGGradientElement interface: objects.radialGradient must inherit property "gradientTransform" with the proper type 
PASS SVGGradientElement interface: objects.radialGradient must inherit property "spreadMethod" with the proper type 
PASS SVGGradientElement interface: objects.radialGradient must inherit property "href" with the proper type 
PASS SVGElement interface: objects.radialGradient must inherit property "className" with the proper type 
PASS SVGElement interface: objects.radialGradient must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.radialGradient must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.radialGradient must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.radialGradient must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGStopElement interface: existence and properties of interface object 
PASS SVGStopElement interface object length 
PASS SVGStopElement interface object name 
PASS SVGStopElement interface: existence and properties of interface prototype object 
PASS SVGStopElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGStopElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGStopElement interface: attribute offset 
PASS SVGStopElement must be primary interface of objects.stop 
PASS Stringification of objects.stop 
PASS SVGStopElement interface: objects.stop must inherit property "offset" with the proper type 
PASS SVGElement interface: objects.stop must inherit property "className" with the proper type 
PASS SVGElement interface: objects.stop must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.stop must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.stop must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.stop must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGPatternElement interface: existence and properties of interface object 
PASS SVGPatternElement interface object length 
PASS SVGPatternElement interface object name 
PASS SVGPatternElement interface: existence and properties of interface prototype object 
PASS SVGPatternElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGPatternElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGPatternElement interface: attribute patternUnits 
PASS SVGPatternElement interface: attribute patternContentUnits 
PASS SVGPatternElement interface: attribute patternTransform 
PASS SVGPatternElement interface: attribute x 
PASS SVGPatternElement interface: attribute y 
PASS SVGPatternElement interface: attribute width 
PASS SVGPatternElement interface: attribute height 
PASS SVGPatternElement interface: attribute viewBox 
PASS SVGPatternElement interface: attribute preserveAspectRatio 
PASS SVGPatternElement interface: attribute href 
PASS SVGPatternElement must be primary interface of objects.pattern 
PASS Stringification of objects.pattern 
PASS SVGPatternElement interface: objects.pattern must inherit property "patternUnits" with the proper type 
PASS SVGPatternElement interface: objects.pattern must inherit property "patternContentUnits" with the proper type 
PASS SVGPatternElement interface: objects.pattern must inherit property "patternTransform" with the proper type 
PASS SVGPatternElement interface: objects.pattern must inherit property "x" with the proper type 
PASS SVGPatternElement interface: objects.pattern must inherit property "y" with the proper type 
PASS SVGPatternElement interface: objects.pattern must inherit property "width" with the proper type 
PASS SVGPatternElement interface: objects.pattern must inherit property "height" with the proper type 
PASS SVGPatternElement interface: objects.pattern must inherit property "viewBox" with the proper type 
PASS SVGPatternElement interface: objects.pattern must inherit property "preserveAspectRatio" with the proper type 
PASS SVGPatternElement interface: objects.pattern must inherit property "href" with the proper type 
PASS SVGElement interface: objects.pattern must inherit property "className" with the proper type 
PASS SVGElement interface: objects.pattern must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.pattern must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.pattern must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.pattern must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGScriptElement interface: existence and properties of interface object 
PASS SVGScriptElement interface object length 
PASS SVGScriptElement interface object name 
PASS SVGScriptElement interface: existence and properties of interface prototype object 
PASS SVGScriptElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGScriptElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGScriptElement interface: attribute type 
FAIL SVGScriptElement interface: attribute crossOrigin assert_true: The prototype object must have a property "crossOrigin" expected true got false
PASS SVGScriptElement interface: attribute href 
PASS SVGScriptElement must be primary interface of objects.script 
PASS Stringification of objects.script 
PASS SVGScriptElement interface: objects.script must inherit property "type" with the proper type 
FAIL SVGScriptElement interface: objects.script must inherit property "crossOrigin" with the proper type assert_inherits: property "crossOrigin" not found in prototype chain
PASS SVGScriptElement interface: objects.script must inherit property "href" with the proper type 
PASS SVGElement interface: objects.script must inherit property "className" with the proper type 
PASS SVGElement interface: objects.script must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.script must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.script must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.script must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGAElement interface: existence and properties of interface object 
PASS SVGAElement interface object length 
PASS SVGAElement interface object name 
PASS SVGAElement interface: existence and properties of interface prototype object 
PASS SVGAElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGAElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGAElement interface: attribute target 
FAIL SVGAElement interface: attribute download assert_true: The prototype object must have a property "download" expected true got false
FAIL SVGAElement interface: attribute ping assert_true: The prototype object must have a property "ping" expected true got false
FAIL SVGAElement interface: attribute rel assert_true: The prototype object must have a property "rel" expected true got false
FAIL SVGAElement interface: attribute relList assert_true: The prototype object must have a property "relList" expected true got false
FAIL SVGAElement interface: attribute hreflang assert_true: The prototype object must have a property "hreflang" expected true got false
FAIL SVGAElement interface: attribute type assert_true: The prototype object must have a property "type" expected true got false
FAIL SVGAElement interface: attribute text assert_true: The prototype object must have a property "text" expected true got false
FAIL SVGAElement interface: attribute referrerPolicy assert_true: The prototype object must have a property "referrerPolicy" expected true got false
PASS SVGAElement interface: attribute href 
PASS SVGAElement must be primary interface of objects.a 
PASS Stringification of objects.a 
PASS SVGAElement interface: objects.a must inherit property "target" with the proper type 
FAIL SVGAElement interface: objects.a must inherit property "download" with the proper type assert_inherits: property "download" not found in prototype chain
FAIL SVGAElement interface: objects.a must inherit property "ping" with the proper type assert_inherits: property "ping" not found in prototype chain
FAIL SVGAElement interface: objects.a must inherit property "rel" with the proper type assert_inherits: property "rel" not found in prototype chain
FAIL SVGAElement interface: objects.a must inherit property "relList" with the proper type assert_inherits: property "relList" not found in prototype chain
FAIL SVGAElement interface: objects.a must inherit property "hreflang" with the proper type assert_inherits: property "hreflang" not found in prototype chain
FAIL SVGAElement interface: objects.a must inherit property "type" with the proper type assert_inherits: property "type" not found in prototype chain
FAIL SVGAElement interface: objects.a must inherit property "text" with the proper type assert_inherits: property "text" not found in prototype chain
FAIL SVGAElement interface: objects.a must inherit property "referrerPolicy" with the proper type assert_inherits: property "referrerPolicy" not found in prototype chain
PASS SVGAElement interface: objects.a must inherit property "href" with the proper type 
PASS SVGGraphicsElement interface: objects.a must inherit property "transform" with the proper type 
PASS SVGGraphicsElement interface: objects.a must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.a with too few arguments must throw TypeError 
PASS SVGGraphicsElement interface: objects.a must inherit property "getCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.a must inherit property "getScreenCTM()" with the proper type 
PASS SVGGraphicsElement interface: objects.a must inherit property "requiredExtensions" with the proper type 
PASS SVGGraphicsElement interface: objects.a must inherit property "systemLanguage" with the proper type 
PASS SVGElement interface: objects.a must inherit property "className" with the proper type 
PASS SVGElement interface: objects.a must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.a must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.a must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.a must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS SVGViewElement interface: existence and properties of interface object 
PASS SVGViewElement interface object length 
PASS SVGViewElement interface object name 
PASS SVGViewElement interface: existence and properties of interface prototype object 
PASS SVGViewElement interface: existence and properties of interface prototype object's "constructor" property 
PASS SVGViewElement interface: existence and properties of interface prototype object's @@unscopables property 
PASS SVGViewElement interface: attribute viewBox 
PASS SVGViewElement interface: attribute preserveAspectRatio 
PASS SVGViewElement must be primary interface of objects.view 
PASS Stringification of objects.view 
PASS SVGViewElement interface: objects.view must inherit property "viewBox" with the proper type 
PASS SVGViewElement interface: objects.view must inherit property "preserveAspectRatio" with the proper type 
PASS SVGElement interface: objects.view must inherit property "className" with the proper type 
PASS SVGElement interface: objects.view must inherit property "ownerSVGElement" with the proper type 
PASS SVGElement interface: objects.view must inherit property "viewportElement" with the proper type 
FAIL SVGElement interface: objects.view must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
FAIL SVGElement interface: objects.view must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
PASS Document interface: attribute rootElement 

