blob: 2c88544bfb0e28b9020ea76ae14e4db5044d1044 [file] [log] [blame]
<!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>