155 lines
6.9 KiB
HTML
155 lines
6.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<link rel="help" href="http://www.w3.org/TR/2013/WD-SVG2-20130618/" />
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description("Validates the SVG2 inheritance model.");
|
|
|
|
function interfaceName(prototype)
|
|
{
|
|
return prototype.toString().slice(8, -1);
|
|
}
|
|
|
|
function checkParent(type, expectedParent)
|
|
{
|
|
// Using shouldBe() would lead to not very readable output here.
|
|
if (!window[type]) {
|
|
testFailed(type + " is not defined");
|
|
return;
|
|
}
|
|
var parentPrototype = window[type].prototype.__proto__;
|
|
var expectedPrototype = window[expectedParent] ? window[expectedParent].prototype : null;
|
|
|
|
if (expectedPrototype && parentPrototype === expectedPrototype)
|
|
testPassed(type + " inherits " + expectedParent);
|
|
else
|
|
testFailed(type + " should inherit " + expectedParent + " but got " + interfaceName(parentPrototype) + " instead");
|
|
}
|
|
|
|
checkParent("SVGAElement", "SVGGraphicsElement");
|
|
checkParent("SVGAltGlyphDefElement", "SVGElement");
|
|
checkParent("SVGAltGlyphElement", "SVGTextPositioningElement");
|
|
checkParent("SVGAltGlyphItemElement", "SVGElement");
|
|
checkParent("SVGAngle", "Object");
|
|
checkParent("SVGAnimateColorElement", "SVGAnimationElement");
|
|
checkParent("SVGAnimateElement", "SVGAnimationElement");
|
|
checkParent("SVGAnimateMotionElement", "SVGAnimationElement");
|
|
checkParent("SVGAnimateTransformElement", "SVGAnimationElement");
|
|
checkParent("SVGAnimatedAngle", "Object");
|
|
checkParent("SVGAnimatedBoolean", "Object");
|
|
checkParent("SVGAnimatedEnumeration", "Object");
|
|
checkParent("SVGAnimatedInteger", "Object");
|
|
checkParent("SVGAnimatedLength", "Object");
|
|
checkParent("SVGAnimatedLengthList", "Object");
|
|
checkParent("SVGAnimatedNumber", "Object");
|
|
checkParent("SVGAnimatedNumberList", "Object");
|
|
checkParent("SVGAnimatedPathData", "Object");
|
|
checkParent("SVGAnimatedPreserveAspectRatio", "Object");
|
|
checkParent("SVGAnimatedRect", "Object");
|
|
checkParent("SVGAnimatedString", "Object");
|
|
checkParent("SVGAnimatedTransformList", "Object");
|
|
checkParent("SVGAnimationElement", "SVGElement");
|
|
checkParent("SVGCSSRule", "CSSRule");
|
|
checkParent("SVGCircleElement", "SVGGeometryElement");
|
|
checkParent("SVGClipPathElement", "SVGDefinitionElement");
|
|
checkParent("SVGColorProfileElement", "SVGElement");
|
|
checkParent("SVGColorProfileRule", "SVGCSSRule");
|
|
checkParent("SVGCursorElement", "SVGElement");
|
|
checkParent("SVGDefsElement", "SVGGraphicsElement");
|
|
checkParent("SVGDescElement", "SVGElement");
|
|
checkParent("SVGElement", "Element");
|
|
checkParent("SVGEllipseElement", "SVGGeometryElement");
|
|
checkParent("SVGFontElement", "SVGElement");
|
|
checkParent("SVGFontFaceElement", "SVGElement");
|
|
checkParent("SVGFontFaceFormatElement", "SVGElement");
|
|
checkParent("SVGFontFaceNameElement", "SVGElement");
|
|
checkParent("SVGFontFaceSrcElement", "SVGElement");
|
|
checkParent("SVGFontFaceUriElement", "SVGElement");
|
|
checkParent("SVGForeignObjectElement", "SVGGraphicsElement");
|
|
checkParent("SVGGElement", "SVGGraphicsElement");
|
|
checkParent("SVGGeometryElement", "SVGGraphicsElement");
|
|
checkParent("SVGGlyphElement", "SVGElement");
|
|
checkParent("SVGGlyphRefElement", "SVGElement");
|
|
checkParent("SVGGradientElement", "SVGElement");
|
|
checkParent("SVGGraphicsElement", "SVGElement");
|
|
checkParent("SVGHKernElement", "SVGElement");
|
|
checkParent("SVGImageElement", "SVGGraphicsElement");
|
|
checkParent("SVGLength", "Object");
|
|
checkParent("SVGLengthList", "Object");
|
|
checkParent("SVGLineElement", "SVGGeometryElement");
|
|
checkParent("SVGLinearGradientElement", "SVGGradientElement");
|
|
checkParent("SVGMPathElement", "SVGElement");
|
|
checkParent("SVGMarkerElement", "SVGElement");
|
|
checkParent("SVGMarkerInstance", "Object");
|
|
checkParent("SVGMarkerList", "Object");
|
|
checkParent("SVGMaskElement", "SVGDefinitionElement");
|
|
checkParent("SVGMatrix", "Object");
|
|
checkParent("SVGMeshGradientElement", "SVGGradientElement");
|
|
checkParent("SVGMeshPatchElement", "SVGElement");
|
|
checkParent("SVGMeshRowElement", "SVGElement");
|
|
checkParent("SVGMetadataElement", "SVGElement");
|
|
checkParent("SVGMissingGlyphElement", "SVGElement");
|
|
checkParent("SVGNumber", "Object");
|
|
checkParent("SVGNumberList", "Object");
|
|
checkParent("SVGPathElement", "SVGGeometryElement");
|
|
checkParent("SVGPathSeg", "Object");
|
|
checkParent("SVGPathSegArcAbs", "SVGPathSeg");
|
|
checkParent("SVGPathSegArcRel", "SVGPathSeg");
|
|
checkParent("SVGPathSegClosePath", "SVGPathSeg");
|
|
checkParent("SVGPathSegCurvetoCubicAbs", "SVGPathSeg");
|
|
checkParent("SVGPathSegCurvetoCubicRel", "SVGPathSeg");
|
|
checkParent("SVGPathSegCurvetoCubicSmoothAbs", "SVGPathSeg");
|
|
checkParent("SVGPathSegCurvetoCubicSmoothRel", "SVGPathSeg");
|
|
checkParent("SVGPathSegCurvetoQuadraticAbs", "SVGPathSeg");
|
|
checkParent("SVGPathSegCurvetoQuadraticRel", "SVGPathSeg");
|
|
checkParent("SVGPathSegCurvetoQuadraticSmoothAbs", "SVGPathSeg");
|
|
checkParent("SVGPathSegCurvetoQuadraticSmoothRel", "SVGPathSeg");
|
|
checkParent("SVGPathSegLinetoAbs", "SVGPathSeg");
|
|
checkParent("SVGPathSegLinetoHorizontalAbs", "SVGPathSeg");
|
|
checkParent("SVGPathSegLinetoHorizontalRel", "SVGPathSeg");
|
|
checkParent("SVGPathSegLinetoRel", "SVGPathSeg");
|
|
checkParent("SVGPathSegLinetoVerticalAbs", "SVGPathSeg");
|
|
checkParent("SVGPathSegLinetoVerticalRel", "SVGPathSeg");
|
|
checkParent("SVGPathSegList", "Object");
|
|
checkParent("SVGPathSegMovetoAbs", "SVGPathSeg");
|
|
checkParent("SVGPathSegMovetoRel", "SVGPathSeg");
|
|
checkParent("SVGPatternElement", "SVGElement");
|
|
checkParent("SVGPoint", "Object");
|
|
checkParent("SVGPointList", "Object");
|
|
checkParent("SVGPolygonElement", "SVGGeometryElement");
|
|
checkParent("SVGPolylineElement", "SVGGeometryElement");
|
|
checkParent("SVGPreserveAspectRatio", "Object");
|
|
checkParent("SVGRadialGradientElement", "SVGGradientElement");
|
|
checkParent("SVGRect", "Object");
|
|
checkParent("SVGRectElement", "SVGGeometryElement");
|
|
checkParent("SVGSVGElement", "SVGGraphicsElement");
|
|
checkParent("SVGScriptElement", "SVGElement");
|
|
checkParent("SVGSetElement", "SVGAnimationElement");
|
|
checkParent("SVGStopElement", "SVGElement");
|
|
checkParent("SVGStringList", "Object");
|
|
checkParent("SVGStyleElement", "SVGElement");
|
|
checkParent("SVGSwitchElement", "SVGGraphicsElement");
|
|
checkParent("SVGSymbolElement", "SVGGraphicsElement");
|
|
checkParent("SVGTRefElement", "SVGTextPositioningElement");
|
|
checkParent("SVGTSpanElement", "SVGTextPositioningElement");
|
|
checkParent("SVGTextContentElement", "SVGGraphicsElement");
|
|
checkParent("SVGTextElement", "SVGTextPositioningElement");
|
|
checkParent("SVGTextPathElement", "SVGTextContentElement");
|
|
checkParent("SVGTextPositioningElement", "SVGTextContentElement");
|
|
checkParent("SVGTitleElement", "SVGElement");
|
|
checkParent("SVGTransform", "Object");
|
|
checkParent("SVGTransformList", "Object");
|
|
checkParent("SVGUseElement", "SVGGraphicsElement");
|
|
checkParent("SVGVKernElement", "SVGElement");
|
|
checkParent("SVGViewElement", "SVGElement");
|
|
checkParent("SVGViewSpec", "Object");
|
|
checkParent("SVGZoomEvent", "UIEvent");
|
|
checkParent("TimeEvent", "Event");
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|