blob: e02a08cd6dbd457fc314dbd3662429088e6845ff [file] [edit]
<!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() behaves like setAttribute() to get the existing attribute, but like setAttributeNS() to set the new value. This test covers attributes set through an AttributeNode with a namespace."');
var testElement = document.createElement("div");
var a = document.createAttributeNS('ns1', 'foobar');
a.value = 'WebKit'
testElement.setAttributeNode(a);
shouldBe('testElement.attributes.length', '1');
shouldBeEqualToString('testElement.getAttribute("foobar")', 'WebKit');
shouldBeTrue('testElement.hasAttribute("foobar")');
shouldBeEqualToString('testElement.getAttribute("FooBar")', 'WebKit');
shouldBeTrue('testElement.hasAttribute("FooBar")');
shouldBeEqualToString('testElement.getAttributeNS("ns1", "foobar")', 'WebKit');
shouldBeTrue('testElement.hasAttributeNS("ns1", "foobar")');
shouldBe('testElement.getAttributeNS("ns1", "FooBar")', 'null');
shouldBeFalse('testElement.hasAttributeNS("ns1", "FooBar")');
shouldBe('testElement.getAttributeNS("", "foobar")', 'null');
shouldBeFalse('testElement.hasAttributeNS("", "foobar")');
shouldBe('testElement.getAttributeNS("", "FooBar")', 'null');
shouldBeFalse('testElement.hasAttributeNS("", "FooBar")');
var b = document.createAttributeNS('ns1', 'FooBar');
b.value = "Rocks!";
testElement.setAttributeNode(b);
shouldBe('testElement.attributes.length', '2');
shouldBeEqualToString('testElement.getAttribute("foobar")', 'WebKit');
shouldBeTrue('testElement.hasAttribute("foobar")');
shouldBeEqualToString('testElement.getAttribute("FooBar")', 'WebKit');
shouldBeTrue('testElement.hasAttribute("FooBar")');
shouldBeEqualToString('testElement.getAttributeNS("ns1", "foobar")', 'WebKit');
shouldBeTrue('testElement.hasAttributeNS("ns1", "foobar")');
shouldBeEqualToString('testElement.getAttributeNS("ns1", "FooBar")', 'Rocks!');
shouldBeTrue('testElement.hasAttributeNS("ns1", "FooBar")');
shouldBe('testElement.getAttributeNS("", "foobar")', 'null');
shouldBeFalse('testElement.hasAttributeNS("", "foobar")');
shouldBe('testElement.getAttributeNS("", "FooBar")', 'null');
shouldBeFalse('testElement.hasAttributeNS("", "FooBar")');
</script>
<script src="../../../resources/js-test-post.js"></script>
</html>