haikuwebkit/LayoutTests/fast/dom/Element/attribute-setAttributeNode-...

62 lines
2.2 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<div id="test-container" style="display: none;"></div>
</body>
<script>
description('Test using setAttributeNode() multiple times with "compatible" names and "incompatible" names."');
function setSameAttributeNodeMultipleTimes(name) {
// Set the same attribute node several times.
var foobar = document.createAttribute(name);
document.documentElement.setAttributeNode(foobar);
document.documentElement.setAttributeNode(foobar);
document.documentElement.setAttributeNode(foobar);
foobar.value = 'WebKit!';
document.documentElement.setAttributeNode(foobar);
document.documentElement.setAttributeNode(foobar);
document.documentElement.setAttributeNode(foobar);
shouldBe('document.documentElement.attributes.length', '1');
document.documentElement.removeAttributeNode(foobar);
shouldBe('document.documentElement.attributes.length', '0');
}
function setAttributeNodesOfSameNameMultipleTimes(name) {
// Set the same attribute node several times.
document.documentElement.setAttributeNode(document.createAttribute(name));
document.documentElement.setAttributeNode(document.createAttribute(name));
document.documentElement.setAttributeNode(document.createAttribute(name));
document.documentElement.setAttributeNode(document.createAttribute(name));
document.documentElement.setAttributeNode(document.createAttribute(name));
document.documentElement.setAttributeNode(document.createAttribute(name));
shouldBe('document.documentElement.attributes.length', '1');
var foobar = document.createAttribute(name);
document.documentElement.setAttributeNode(foobar);
document.documentElement.removeAttributeNode(foobar);
shouldBe('document.documentElement.attributes.length', '0');
}
function testName(name) {
debug("Testing: " + name);
setSameAttributeNodeMultipleTimes(name);
setAttributeNodesOfSameNameMultipleTimes(name);
debug("");
}
testName("FooBar");
testName("foobar");
testName("FOOBAR");
</script>
<script src="../../../resources/js-test-post.js"></script>
</html>