idlharness.window.js (7732B)
1 // META: timeout=long 2 // META: script=/resources/WebIDLParser.js 3 // META: script=/resources/idlharness.js 4 5 // https://svgwg.org/svg2-draft/ 6 7 'use strict'; 8 9 let objects = {}; 10 11 const elements = [ 12 'svg', 13 'g', 14 'defs', 15 'desc', 16 'title', 17 'symbol', 18 'use', 19 'image', 20 'switch', 21 'style', 22 'path', 23 'rect', 24 'circle', 25 'ellipse', 26 'line', 27 'polyline', 28 'polygon', 29 'text', 30 'tspan', 31 'textPath', 32 'marker', 33 'linearGradient', 34 'radialGradient', 35 'meshGradient', 36 'stop', 37 'pattern', 38 'clipPath', 39 'mask', 40 'a', 41 'view', 42 'script', 43 'animate', 44 'set', 45 'animateMotion', 46 'mpath', 47 'animateTransform', 48 'metadata', 49 'foreignObject', 50 'filter', 51 'feBlend', 52 'feColorMatrix', 53 'feComponentTransfer', 54 'feFuncR', 55 'feFuncG', 56 'feFuncB', 57 'feFuncA', 58 'feComposite', 59 'feConvolveMatrix', 60 'feDiffuseLighting', 61 'fePointLight', 62 'feSpotLight', 63 'feDisplacementMap', 64 'feDropShadow', 65 'feFlood', 66 'feGaussianBlur', 67 'feDisplacementMap', 68 'feDropShadow', 69 'feImage', 70 'feMerge', 71 'feMergeNode', 72 'feMorphology', 73 'feSpecularLighting', 74 'feTile', 75 'feTurbulence', 76 ]; 77 78 idl_test( 79 ['SVG', 'svg-animations'], 80 ['cssom', 'web-animations', 'html', 'dom'], 81 idlArray => { 82 const svgUrl = 'http://www.w3.org/2000/svg'; 83 for (const element of elements) { 84 try { 85 objects[element] = document.createElementNS(svgUrl, element); 86 } catch (e) { 87 // Will be surfaced by idlharess.js's test_object below. 88 } 89 } 90 91 idlArray.add_untested_idls('interface CSSPseudoElement {};') 92 idlArray.add_objects({ 93 SVGAnimatedBoolean: ['objects.feConvolveMatrix.preserveAlpha'], 94 SVGAnimatedString: ['objects.a.target'], 95 SVGStringList: ['objects.a.requiredExtensions'], 96 SVGAnimatedEnumeration: ['objects.text.lengthAdjust'], 97 SVGAnimatedInteger: ['objects.feConvolveMatrix.orderX'], 98 SVGNumber: ['objects.svg.createSVGNumber()'], 99 SVGAnimatedNumber: ['objects.stop.offset'], 100 SVGNumberList: ['objects.text.rotate.baseVal'], 101 SVGAnimatedNumberList: ['objects.text.rotate'], 102 SVGLength: ['objects.svg.createSVGLength()'], 103 SVGAnimatedLength: ['objects.svg.x'], 104 SVGAnimatedLengthList: ['objects.text.x'], 105 SVGAngle: ['objects.svg.createSVGAngle()'], 106 SVGAnimatedAngle: ['objects.marker.orientAngle'], 107 SVGRect: ['objects.svg.createSVGRect()'], 108 SVGAnimatedRect: ['objects.svg.viewBox'], 109 SVGSVGElement: ['objects.svg'], 110 SVGGElement: ['objects.g'], 111 SVGDefsElement: ['objects.defs'], 112 SVGDescElement: ['objects.desc'], 113 SVGTitleElement: ['objects.title'], 114 SVGSymbolElement: ['objects.symbol'], 115 SVGUseElement: ['objects.use'], 116 SVGImageElement: ['objects.image'], 117 SVGSwitchElement: ['objects.switch'], 118 SVGStyleElement: ['objects.style'], 119 SVGPoint: ['objects.svg.createSVGPoint()'], 120 SVGPointList: ['objects.polygon.points'], 121 SVGMatrix: ['objects.svg.createSVGMatrix()'], 122 SVGTransform: ['objects.svg.createSVGTransform()'], 123 SVGTransformList: ['objects.pattern.patternTransform.baseVal'], 124 SVGAnimatedTransformList: ['objects.pattern.patternTransform'], 125 SVGPreserveAspectRatio: ['objects.image.preserveAspectRatio.baseVal'], 126 SVGAnimatedPreserveAspectRatio: ['objects.image.preserveAspectRatio'], 127 SVGPathSegClosePath: ['objects.path.createSVGPathSegClosePath()'], 128 SVGPathSegMovetoAbs: ['objects.path.createSVGPathSegMovetoAbs(0,0)'], 129 SVGPathSegMovetoRel: ['objects.path.createSVGPathSegMovetoRel(0,0)'], 130 SVGPathSegLinetoAbs: ['objects.path.createSVGPathSegLinetoAbs(0,0)'], 131 SVGPathSegLinetoRel: ['objects.path.createSVGPathSegLinetoRel(0,0)'], 132 SVGPathSegCurvetoCubicAbs: ['objects.path.createSVGPathSegCurvetoCubicAbs(0,0,0,0,0,0)'], 133 SVGPathSegCurvetoCubicRel: ['objects.path.createSVGPathSegCurvetoCubicRel(0,0,0,0,0,0)'], 134 SVGPathSegCurvetoQuadraticAbs: ['objects.path.createSVGPathSegCurvetoQuadraticAbs(0,0,0,0)'], 135 SVGPathSegCurvetoQuadraticRel: ['objects.path.createSVGPathSegCurvetoQuadraticRel(0,0,0,0)'], 136 SVGPathSegArcAbs: ['objects.path.createSVGPathSegArcAbs(0,0,0,0,0,true,true)'], 137 SVGPathSegArcRel: ['objects.path.createSVGPathSegArcRel(0,0,0,0,0,true,true)'], 138 SVGPathSegLinetoHorizontalAbs: ['objects.path.createSVGPathSegLinetoHorizontalAbs(0)'], 139 SVGPathSegLinetoHorizontalRel: ['objects.path.createSVGPathSegLinetoHorizontalRel(0)'], 140 SVGPathSegLinetoVerticalAbs: ['objects.path.createSVGPathSegLinetoVerticalAbs(0)'], 141 SVGPathSegLinetoVerticalRel: ['objects.path.createSVGPathSegLinetoVerticalRel(0)'], 142 SVGPathSegCurvetoCubicSmoothAbs: ['objects.path.createSVGPathSegCurvetoCubicSmoothAbs(0,0,0,0)'], 143 SVGPathSegCurvetoCubicSmoothRel: ['objects.path.createSVGPathSegCurvetoCubicSmoothRel(0,0,0,0)'], 144 SVGPathSegCurvetoQuadraticSmoothAbs: ['objects.path.createSVGPathSegCurvetoQuadraticSmoothAbs(0,0)'], 145 SVGPathSegCurvetoQuadraticSmoothRel: ['objects.path.createSVGPathSegCurvetoQuadraticSmoothRel(0,0)'], 146 SVGPathSegList: ['objects.path.pathSegList'], 147 SVGPathElement: ['objects.path'], 148 SVGRectElement: ['objects.rect'], 149 SVGCircleElement: ['objects.circle'], 150 SVGEllipseElement: ['objects.ellipse'], 151 SVGLineElement: ['objects.line'], 152 SVGPolylineElement: ['objects.polyline'], 153 SVGPolygonElement: ['objects.polygon'], 154 SVGTextElement: ['objects.text'], 155 SVGTSpanElement: ['objects.tspan'], 156 SVGTextPathElement: ['objects.textPath'], 157 SVGMarkerElement: ['objects.marker'], 158 SVGLinearGradientElement: ['objects.linearGradient'], 159 SVGRadialGradientElement: ['objects.radialGradient'], 160 SVGMeshGradientElement: ['objects.meshGradient'], 161 SVGStopElement: ['objects.stop'], 162 SVGPatternElement: ['objects.pattern'], 163 SVGClipPathElement: ['objects.clipPath'], 164 SVGMaskElement: ['objects.mask'], 165 SVGAElement: ['objects.a'], 166 SVGViewElement: ['objects.view'], 167 SVGScriptElement: ['objects.script'], 168 SVGAnimateElement: ['objects.animate'], 169 SVGSetElement: ['objects.set'], 170 SVGAnimateMotionElement: ['objects.animateMotion'], 171 SVGMPathElement: ['objects.mpath'], 172 SVGAnimateTransformElement: ['objects.animateTransform'], 173 SVGMetadataElement: ['objects.metadata'], 174 SVGForeignObjectElement: ['objects.foreignObject'], 175 SVGFilterElement: ['objects.filter'], 176 SVGFEBlendElement: ['objects.feBlend'], 177 SVGFEColorMatrixElement: ['objects.feColorMatrix'], 178 SVGFEComponentTransferElement: ['objects.feComponentTransfer'], 179 SVGFEFuncRElement: ['objects.feFuncR'], 180 SVGFEFuncGElement: ['objects.feFuncG'], 181 SVGFEFuncBElement: ['objects.feFuncB'], 182 SVGFEFuncAElement: ['objects.feFuncA'], 183 SVGFECompositeElement: ['objects.feComposite'], 184 SVGFEConvolveMatrixElement: ['objects.feConvolveMatrix'], 185 SVGFEDiffuseLightingElement: ['objects.feDiffuseLighting'], 186 SVGFEPointLightElement: ['objects.fePointLight'], 187 SVGFESpotLightElement: ['objects.feSpotLight'], 188 SVGFEDisplacementMapElement: ['objects.feDisplacementMap'], 189 SVGFEDropShadowElement: ['objects.feDropShadow'], 190 SVGFEFloodElement: ['objects.feFlood'], 191 SVGFEGaussianBlurElement: ['objects.feGaussianBlur'], 192 SVGFEImageElement: ['objects.feImage'], 193 SVGFEMergeElement: ['objects.feMerge'], 194 SVGFEMergeNodeElement: ['objects.feMergeNode'], 195 SVGFEMorphologyElement: ['objects.feMorphology'], 196 SVGFESpecularLightingElement: ['objects.feSpecularLighting'], 197 SVGFETileElement: ['objects.feTile'], 198 SVGFETurbulenceElement: ['objects.feTurbulence'] 199 }); 200 } 201 );