gecko-dev/content/base/test/test_bug590771.html

74 lines
1.8 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=590771
-->
<head>
<title>Test for Bug 590771</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=590771">Mozilla Bug 590771</a>
<p id="display"></p>
<pre id="test">
<script type="application/javascript">
/** Test for Bug 590771 **/
function test1()
{
var attr = document.createAttribute("foo");
attr.value = "bar";
var ni = document.createNodeIterator(attr, -1, null, false);
ni.nextNode();
ni.nextNode();
is(ni.referenceNode, attr.firstChild,
"iterator should be on the first child attribute");
attr.removeChild(attr.firstChild);
is(ni.referenceNode, attr,
"iterator should be on the attribute now");
}
function test2()
{
var attr = document.createAttribute("foo");
attr.value = "bar";
var ni = document.createNodeIterator(attr, -1, null, false);
ni.nextNode();
ni.nextNode();
is(ni.referenceNode, attr.firstChild,
"iterator should be on the first child attribute");
attr.value = "";
is(ni.referenceNode, attr,
"iterator should be on the attribute now");
}
function test3()
{
var attr = document.createAttribute("foo");
attr.value = "bar";
var node = document.createElement("div");
node.setAttributeNode(attr);
var ni = document.createNodeIterator(attr, -1, null, false);
ni.nextNode();
ni.nextNode();
is(ni.referenceNode, attr.firstChild,
"iterator should be on the first child attribute");
node.setAttribute("foo", "");
is(ni.referenceNode, attr,
"iterator should be on the attribute now");
}
test1();
test2();
test3();
</script>
</pre>
</body>
</html>