blob: 8b6a2182b20843d72006b2c6357a23bec4e9fdce [file] [log] [blame]
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/elements-test.js"></script>
<script>
function setAttribute(namespace, name, value)
{
var node = document.getElementById("node");
node.setAttributeNS(namespace, name, value);
}
function removeAttribute(name)
{
var node = document.getElementById("node");
node.removeAttribute(name);
}
function test()
{
var targetNode;
InspectorTest.runTestSuite([
function testDumpInitial(next)
{
function callback(node)
{
targetNode = node;
InspectorTest.addResult("========= Original ========");
InspectorTest.dumpElementsTree(targetNode);
next();
}
InspectorTest.selectNodeWithId("node", callback);
},
function testAttributeUpdated(next)
{
function callback()
{
InspectorTest.domModel.removeEventListener(SDK.DOMModel.Events.AttrModified, callback);
InspectorTest.addResult("===== On attribute set =====");
InspectorTest.dumpElementsTree(targetNode);
next();
}
InspectorTest.domModel.addEventListener(SDK.DOMModel.Events.AttrModified, callback);
InspectorTest.evaluateInPage("setAttribute('http://www.w3.org/1999/xlink', 'xlink:href', 'changed-url')");
},
function testAttributeRemoved(next)
{
function callback()
{
InspectorTest.domModel.removeEventListener(SDK.DOMModel.Events.AttrRemoved, callback);
InspectorTest.addResult("=== On attribute removed ===");
InspectorTest.dumpElementsTree(targetNode);
next();
}
InspectorTest.domModel.addEventListener(SDK.DOMModel.Events.AttrRemoved, callback);
InspectorTest.evaluateInPage("removeAttribute('xlink:href')");
},
]);
}
</script>
</head>
<body onload="runTest()">
<p>Tests that elements panel updates dom tree structure upon changing the attribute with namespace.</p>
<svg>
<a id="node" xlink:href="http://localhost">link</a>
</svg>
</body>
</html>