<!DOCTYPE html>
<meta charset=utf-8>
<title>Element.getElementsByTagName</title>
<link rel=help href="https://dom.spec.whatwg.org/#dom-element-getelementsbytagname">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="Document-Element-getElementsByTagName.js"></script>
<div id="log"></div>
<script>
var element;
setup(function() {
  element = document.createElement("div");
  element.appendChild(document.createTextNode("text"));
  var p = element.appendChild(document.createElement("p"));
  p.appendChild(document.createElement("a"))
   .appendChild(document.createTextNode("link"));
  p.appendChild(document.createElement("b"))
   .appendChild(document.createTextNode("bold"));
  p.appendChild(document.createElement("em"))
   .appendChild(document.createElement("u"))
   .appendChild(document.createTextNode("emphasized"));
  element.appendChild(document.createComment("comment"));
});

test_getElementsByTagName(element, element);

test(function() {
  assert_array_equals(element.getElementsByTagName(element.localName), []);
}, "Matching the context object");
</script>
