<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<div id="notInFragment"></div>
<div id="duplicateId1"></div>
<script>

description("Tests that getElementById() API is exposed on DocumentFragment nodes.");

var fragment = new DocumentFragment();
var div = document.createElement("div");
div.id = "divID";
fragment.appendChild(div);
var a = document.createElement("a");
a.id = "aID";
div.appendChild(a);
var span = document.createElement("span");
span.id = "duplicateId1";
div.appendChild(span);
var h1 = document.createElement("h1");
h1.id = "duplicateId2";
div.appendChild(h1);
var h2 = document.createElement("h2");
h2.id = "duplicateId2";
div.appendChild(h2);

shouldBe("fragment.getElementById('divID')", "div");
shouldBe("fragment.getElementById('aID')", "a");
shouldBeNull("fragment.getElementById('notInFragment')");
shouldBeNull("fragment.getElementById('doesNotExist')");

// Duplicate ID cases.
shouldBe("fragment.getElementById('duplicateId1')", "span"); // Should return the Element *inside* the DocumentFragment.
shouldBe("fragment.getElementById('duplicateId2')", "h1"); // Should return the first matching Element in case of duplicate.

</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
