<!DOCTYPE html>
<html>
<title>Tests that getElementById() API is exposed on DocumentFragment nodes</title>
<head>
<link rel="help" href="https://dom.spec.whatwg.org/#interface-nonelementparentnode">
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
</head>
<body>
<div id="notInFragment"></div>
<div id="duplicateId1"></div>
<script>
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);

assert_equals(fragment.getElementById('divID'), div);
assert_equals(fragment.getElementById('aID'), a);
assert_equals(fragment.getElementById('notInFragment'), null);
assert_equals(fragment.getElementById('doesNotExist'), null);

// Duplicate ID cases.
assert_equals(fragment.getElementById('duplicateId1'), span); // Should return the Element *inside* the DocumentFragment.
assert_equals(fragment.getElementById('duplicateId2'), h1); // Should return the first matching Element in case of duplicate.
done();
</script>
</body>
</html>
