| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="resources/SVGTestCase.js"></script> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script src="../../fast/repaint/resources/repaint.js"></script> |
| </head> |
| <body onload="runRepaintTest()"> |
| <h1>SVG 1.1 dynamic update tests</h1> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| // [Name] SVGFEMergeNodeElement-svgdom-in-prop.js |
| // [Expected rendering result] Two circle merged with feMerge filter - and a series of PASS messages |
| |
| description("Tests dynamic updates of the 'in' property of the SVGFEMergeNodeElement object") |
| createSVGTestCase(); |
| |
| var defsElement = createSVGElement("defs"); |
| rootSVGElement.appendChild(defsElement); |
| |
| var off = createSVGElement("feOffset"); |
| off.setAttribute("dx", "105"); |
| off.setAttribute("dy", "25"); |
| off.setAttribute("result", "off"); |
| |
| var merge = createSVGElement("feMerge"); |
| |
| var mergeNode1 = createSVGElement("feMergeNode"); |
| mergeNode1.setAttribute("in", "SourceGraphic"); |
| |
| var mergeNode2 = createSVGElement("feMergeNode"); |
| mergeNode2.setAttribute("in", "SourceGraphic"); |
| |
| merge.appendChild(mergeNode1); |
| merge.appendChild(mergeNode2); |
| |
| var mergeFilter = createSVGElement("filter"); |
| mergeFilter.setAttribute("id", "myFilter"); |
| mergeFilter.setAttribute("filterUnits", "objectBoundingBox"); |
| mergeFilter.setAttribute("x", "0"); |
| mergeFilter.setAttribute("y", "0"); |
| mergeFilter.setAttribute("width", "3.5"); |
| mergeFilter.setAttribute("height", "4"); |
| mergeFilter.appendChild(off); |
| mergeFilter.appendChild(merge); |
| |
| defsElement.appendChild(mergeFilter); |
| |
| var myCircle = createSVGElement("circle"); |
| myCircle.setAttribute("cx", "100"); |
| myCircle.setAttribute("cy", "50"); |
| myCircle.setAttribute("r", "50"); |
| myCircle.setAttribute("fill", "#408067"); |
| myCircle.setAttribute("filter", "url(#myFilter)"); |
| |
| rootSVGElement.setAttribute("height", "200"); |
| rootSVGElement.appendChild(myCircle); |
| |
| shouldBeEqualToString("mergeNode1.in1.baseVal", "SourceGraphic"); |
| |
| function repaintTest() { |
| mergeNode1.in1.baseVal = "off"; |
| shouldBeEqualToString("mergeNode1.in1.baseVal", "off"); |
| |
| completeTest(); |
| } |
| |
| var successfullyParsed = true; |
| </script> |
| </body> |
| </html> |