Make SVGUseElement respect & support externalResourcesRequired
[WebKit.git] / LayoutTests / svg / dynamic-updates / script-tests / SVGUseElement-dom-href1-attr.js
1 // [Name] SVGUseElement-dom-href1-attr.js
2 // [Expected rendering result] A use element first with an internal then with an external referenced document - and a series of PASS messages
3
4 description("Tests dynamic updates of the 'href' attribute of the SVGUseElement object")
5 createSVGTestCase();
6
7 var defsElement = createSVGElement("defs");
8 rootSVGElement.appendChild(defsElement);
9
10 var useElement = createSVGElement("use");
11 useElement.setAttribute("x", "10");
12 useElement.setAttribute("y", "10");
13 useElement.setAttribute("externalResourcesRequired", "true");
14 useElement.setAttribute("onload", "completeTest()");
15 useElement.setAttributeNS(xlinkNS, "xlink:href", "#MyRect");
16
17 var rectElement = createSVGElement("rect");
18 rectElement.setAttribute("id", "MyRect");
19 rectElement.setAttribute("x", "64");
20 rectElement.setAttribute("y", "0");
21 rectElement.setAttribute("width", "64");
22 rectElement.setAttribute("height", "64");
23 rectElement.setAttribute("fill", "red");
24
25 defsElement.appendChild(rectElement);
26 defsElement.appendChild(useElement);
27
28 rootSVGElement.setAttribute("height", "200");
29 rootSVGElement.appendChild(useElement);
30
31 shouldBeEqualToString("useElement.getAttributeNS('" + xlinkNS + "', 'href')", "#MyRect");
32
33 function repaintTest() {
34     useElement.setAttributeNS(xlinkNS, "xlink:href", "../custom/resources/rgb.svg#G");
35     shouldBeEqualToString("useElement.getAttributeNS('" + xlinkNS + "', 'href')", "../custom/resources/rgb.svg#G");
36 }
37
38 var successfullyParsed = true;