<html> <head> <script src="../../resources/js-test.js"></script> </head> <body> <div style="visibility:hidden"> <svg></svg> </div> <script> description("Test that setting innerHTML and outerHTML properties works on SVG elements"); var svg = document.getElementsByTagName('svg')[0]; svg.innerHTML = "<rect/>"; shouldBeEqualToString("svg.innerHTML", '<rect></rect>'); shouldBeEqualToString("svg.firstChild.namespaceURI", 'http://www.w3.org/2000/svg'); svg.innerHTML = "<foreignobject><svg/></foreignobject>"; shouldBeEqualToString("svg.innerHTML", '<foreignObject><svg></svg></foreignObject>'); shouldBeEqualToString("svg.firstChild.namespaceURI", 'http://www.w3.org/2000/svg'); shouldBeEqualToString("svg.firstChild.firstChild.namespaceURI", 'http://www.w3.org/2000/svg'); svg.innerHTML = "<foreignobject><p>x</foreignobject>"; shouldBeEqualToString("svg.innerHTML", '<foreignObject><p>x</p></foreignObject>'); shouldBeEqualToString("svg.firstChild.namespaceURI", 'http://www.w3.org/2000/svg'); shouldBeEqualToString("svg.firstChild.firstChild.namespaceURI", 'http://www.w3.org/1999/xhtml'); svg.outerHTML = "<svg><circle/></svg>"; var svg = document.getElementsByTagName('svg')[0]; shouldBeEqualToString("svg.innerHTML", '<circle></circle>'); shouldBeEqualToString("svg.firstChild.namespaceURI", 'http://www.w3.org/2000/svg'); </script> </body> </html>