<!doctype html>
<title>insertAdjacentHTML</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
#element {
display: none;
}
</style>
<div id="element"></div>
<div id="log"></div>
<script>
function wrap(text) {
return '<h3>' + text + '</h3>';
}
var possiblePositions = {
'beforebegin': 'previousSibling'
, 'afterbegin': 'firstChild'
, 'beforeend': 'lastChild'
, 'afterend': 'nextSibling'
}
var el = document.querySelector('#element');
Object.keys(possiblePositions).forEach(function(position) {
var html = wrap(position);
test(function() {
el.insertAdjacentHTML(position, html);
var heading = document.createElement('h3');
heading.innerHTML = position;
assert_equals(el[possiblePositions[position]].nodeName, "H3");
assert_equals(el[possiblePositions[position]].firstChild.nodeType, Node.TEXT_NODE);
}, 'insertAdjacentHTML(' + position + ', ' + html + ' )');
});
</script>