summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/svg/idlharness.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/svg/idlharness.window.js')
-rw-r--r--testing/web-platform/tests/svg/idlharness.window.js203
1 files changed, 203 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/idlharness.window.js b/testing/web-platform/tests/svg/idlharness.window.js
new file mode 100644
index 0000000000..04cf99729e
--- /dev/null
+++ b/testing/web-platform/tests/svg/idlharness.window.js
@@ -0,0 +1,203 @@
+// META: timeout=long
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://svgwg.org/svg2-draft/
+
+'use strict';
+
+let objects = {};
+
+const elements = [
+ 'svg',
+ 'g',
+ 'defs',
+ 'desc',
+ 'title',
+ 'symbol',
+ 'use',
+ 'image',
+ 'switch',
+ 'style',
+ 'path',
+ 'rect',
+ 'circle',
+ 'ellipse',
+ 'line',
+ 'polyline',
+ 'polygon',
+ 'text',
+ 'tspan',
+ 'textPath',
+ 'marker',
+ 'linearGradient',
+ 'radialGradient',
+ 'meshGradient',
+ 'stop',
+ 'pattern',
+ 'clipPath',
+ 'mask',
+ 'a',
+ 'view',
+ 'script',
+ 'animate',
+ 'set',
+ 'animateMotion',
+ 'mpath',
+ 'animateColor',
+ 'animateTransform',
+ 'metadata',
+ 'foreignObject',
+ 'filter',
+ 'feBlend',
+ 'feColorMatrix',
+ 'feComponentTransfer',
+ 'feFuncR',
+ 'feFuncG',
+ 'feFuncB',
+ 'feFuncA',
+ 'feComposite',
+ 'feConvolveMatrix',
+ 'feDiffuseLighting',
+ 'fePointLight',
+ 'feSpotLight',
+ 'feDisplacementMap',
+ 'feDropShadow',
+ 'feFlood',
+ 'feGaussianBlur',
+ 'feDisplacementMap',
+ 'feDropShadow',
+ 'feImage',
+ 'feMerge',
+ 'feMergeNode',
+ 'feMorphology',
+ 'feSpecularLighting',
+ 'feTile',
+ 'feTurbulence',
+];
+
+idl_test(
+ ['SVG', 'svg-animations'],
+ ['cssom', 'web-animations', 'html', 'dom'],
+ idlArray => {
+ const svgUrl = 'http://www.w3.org/2000/svg';
+ for (const element of elements) {
+ try {
+ objects[element] = document.createElementNS(svgUrl, element);
+ } catch (e) {
+ // Will be surfaced by idlharess.js's test_object below.
+ }
+ }
+
+ idlArray.add_untested_idls('interface CSSPseudoElement {};')
+ idlArray.add_objects({
+ SVGAnimatedBoolean: ['objects.feConvolveMatrix.preserveAlpha'],
+ SVGAnimatedString: ['objects.a.target'],
+ SVGStringList: ['objects.a.requiredExtensions'],
+ SVGAnimatedEnumeration: ['objects.text.lengthAdjust'],
+ SVGAnimatedInteger: ['objects.feConvolveMatrix.orderX'],
+ SVGNumber: ['objects.svg.createSVGNumber()'],
+ SVGAnimatedNumber: ['objects.stop.offset'],
+ SVGNumberList: ['objects.text.rotate.baseVal'],
+ SVGAnimatedNumberList: ['objects.text.rotate'],
+ SVGLength: ['objects.svg.createSVGLength()'],
+ SVGAnimatedLength: ['objects.svg.x'],
+ SVGAnimatedLengthList: ['objects.text.x'],
+ SVGAngle: ['objects.svg.createSVGAngle()'],
+ SVGAnimatedAngle: ['objects.marker.orientAngle'],
+ SVGRect: ['objects.svg.createSVGRect()'],
+ SVGAnimatedRect: ['objects.svg.viewBox'],
+ SVGSVGElement: ['objects.svg'],
+ SVGGElement: ['objects.g'],
+ SVGDefsElement: ['objects.defs'],
+ SVGDescElement: ['objects.desc'],
+ SVGTitleElement: ['objects.title'],
+ SVGSymbolElement: ['objects.symbol'],
+ SVGUseElement: ['objects.use'],
+ SVGImageElement: ['objects.image'],
+ SVGSwitchElement: ['objects.switch'],
+ SVGStyleElement: ['objects.style'],
+ SVGPoint: ['objects.svg.createSVGPoint()'],
+ SVGPointList: ['objects.polygon.points'],
+ SVGMatrix: ['objects.svg.createSVGMatrix()'],
+ SVGTransform: ['objects.svg.createSVGTransform()'],
+ SVGTransformList: ['objects.pattern.patternTransform.baseVal'],
+ SVGAnimatedTransformList: ['objects.pattern.patternTransform'],
+ SVGPreserveAspectRatio: ['objects.image.preserveAspectRatio.baseVal'],
+ SVGAnimatedPreserveAspectRatio: ['objects.image.preserveAspectRatio'],
+ SVGPathSegClosePath: ['objects.path.createSVGPathSegClosePath()'],
+ SVGPathSegMovetoAbs: ['objects.path.createSVGPathSegMovetoAbs(0,0)'],
+ SVGPathSegMovetoRel: ['objects.path.createSVGPathSegMovetoRel(0,0)'],
+ SVGPathSegLinetoAbs: ['objects.path.createSVGPathSegLinetoAbs(0,0)'],
+ SVGPathSegLinetoRel: ['objects.path.createSVGPathSegLinetoRel(0,0)'],
+ SVGPathSegCurvetoCubicAbs: ['objects.path.createSVGPathSegCurvetoCubicAbs(0,0,0,0,0,0)'],
+ SVGPathSegCurvetoCubicRel: ['objects.path.createSVGPathSegCurvetoCubicRel(0,0,0,0,0,0)'],
+ SVGPathSegCurvetoQuadraticAbs: ['objects.path.createSVGPathSegCurvetoQuadraticAbs(0,0,0,0)'],
+ SVGPathSegCurvetoQuadraticRel: ['objects.path.createSVGPathSegCurvetoQuadraticRel(0,0,0,0)'],
+ SVGPathSegArcAbs: ['objects.path.createSVGPathSegArcAbs(0,0,0,0,0,true,true)'],
+ SVGPathSegArcRel: ['objects.path.createSVGPathSegArcRel(0,0,0,0,0,true,true)'],
+ SVGPathSegLinetoHorizontalAbs: ['objects.path.createSVGPathSegLinetoHorizontalAbs(0)'],
+ SVGPathSegLinetoHorizontalRel: ['objects.path.createSVGPathSegLinetoHorizontalRel(0)'],
+ SVGPathSegLinetoVerticalAbs: ['objects.path.createSVGPathSegLinetoVerticalAbs(0)'],
+ SVGPathSegLinetoVerticalRel: ['objects.path.createSVGPathSegLinetoVerticalRel(0)'],
+ SVGPathSegCurvetoCubicSmoothAbs: ['objects.path.createSVGPathSegCurvetoCubicSmoothAbs(0,0,0,0)'],
+ SVGPathSegCurvetoCubicSmoothRel: ['objects.path.createSVGPathSegCurvetoCubicSmoothRel(0,0,0,0)'],
+ SVGPathSegCurvetoQuadraticSmoothAbs: ['objects.path.createSVGPathSegCurvetoQuadraticSmoothAbs(0,0)'],
+ SVGPathSegCurvetoQuadraticSmoothRel: ['objects.path.createSVGPathSegCurvetoQuadraticSmoothRel(0,0)'],
+ SVGPathSegList: ['objects.path.pathSegList'],
+ SVGPathElement: ['objects.path'],
+ SVGRectElement: ['objects.rect'],
+ SVGCircleElement: ['objects.circle'],
+ SVGEllipseElement: ['objects.ellipse'],
+ SVGLineElement: ['objects.line'],
+ SVGPolylineElement: ['objects.polyline'],
+ SVGPolygonElement: ['objects.polygon'],
+ SVGTextElement: ['objects.text'],
+ SVGTSpanElement: ['objects.tspan'],
+ SVGTextPathElement: ['objects.textPath'],
+ SVGMarkerElement: ['objects.marker'],
+ SVGLinearGradientElement: ['objects.linearGradient'],
+ SVGRadialGradientElement: ['objects.radialGradient'],
+ SVGMeshGradientElement: ['objects.meshGradient'],
+ SVGStopElement: ['objects.stop'],
+ SVGPatternElement: ['objects.pattern'],
+ SVGClipPathElement: ['objects.clipPath'],
+ SVGMaskElement: ['objects.mask'],
+ SVGAElement: ['objects.a'],
+ SVGViewElement: ['objects.view'],
+ SVGScriptElement: ['objects.script'],
+ SVGAnimateElement: ['objects.animate'],
+ SVGSetElement: ['objects.set'],
+ SVGAnimateMotionElement: ['objects.animateMotion'],
+ SVGMPathElement: ['objects.mpath'],
+ SVGAnimateColorElement: ['objects.animateColor'],
+ SVGAnimateTransformElement: ['objects.animateTransform'],
+ SVGMetadataElement: ['objects.metadata'],
+ SVGForeignObjectElement: ['objects.foreignObject'],
+ SVGFilterElement: ['objects.filter'],
+ SVGFEBlendElement: ['objects.feBlend'],
+ SVGFEColorMatrixElement: ['objects.feColorMatrix'],
+ SVGFEComponentTransferElement: ['objects.feComponentTransfer'],
+ SVGFEFuncRElement: ['objects.feFuncR'],
+ SVGFEFuncGElement: ['objects.feFuncG'],
+ SVGFEFuncBElement: ['objects.feFuncB'],
+ SVGFEFuncAElement: ['objects.feFuncA'],
+ SVGFECompositeElement: ['objects.feComposite'],
+ SVGFEConvolveMatrixElement: ['objects.feConvolveMatrix'],
+ SVGFEDiffuseLightingElement: ['objects.feDiffuseLighting'],
+ SVGFEPointLightElement: ['objects.fePointLight'],
+ SVGFESpotLightElement: ['objects.feSpotLight'],
+ SVGFEDisplacementMapElement: ['objects.feDisplacementMap'],
+ SVGFEDropShadowElement: ['objects.feDropShadow'],
+ SVGFEFloodElement: ['objects.feFlood'],
+ SVGFEGaussianBlurElement: ['objects.feGaussianBlur'],
+ SVGFEImageElement: ['objects.feImage'],
+ SVGFEMergeElement: ['objects.feMerge'],
+ SVGFEMergeNodeElement: ['objects.feMergeNode'],
+ SVGFEMorphologyElement: ['objects.feMorphology'],
+ SVGFESpecularLightingElement: ['objects.feSpecularLighting'],
+ SVGFETileElement: ['objects.feTile'],
+ SVGFETurbulenceElement: ['objects.feTurbulence']
+ });
+ }
+);