function testThrowingNoParent(element, desc) { test(function() { assert_throws("NO_MODIFICATION_ALLOWED_ERR", function() { element.insertAdjacentHTML("afterend", "") } ); assert_throws("NO_MODIFICATION_ALLOWED_ERR", function() { element.insertAdjacentHTML("beforebegin", "") } ); assert_throws("NO_MODIFICATION_ALLOWED_ERR", function() { element.insertAdjacentHTML("afterend", "foo") } ); assert_throws("NO_MODIFICATION_ALLOWED_ERR", function() { element.insertAdjacentHTML("beforebegin", "foo") } ); }, "When the parent node is " + desc + ", insertAdjacentHTML should throw for beforebegin and afterend (text)"); test(function() { assert_throws("NO_MODIFICATION_ALLOWED_ERR", function() { element.insertAdjacentHTML("afterend", "") } ); assert_throws("NO_MODIFICATION_ALLOWED_ERR", function() { element.insertAdjacentHTML("beforebegin", "") } ); }, "When the parent node is " + desc + ", insertAdjacentHTML should throw for beforebegin and afterend (comments)"); test(function() { assert_throws("NO_MODIFICATION_ALLOWED_ERR", function() { element.insertAdjacentHTML("afterend", "
") } ); assert_throws("NO_MODIFICATION_ALLOWED_ERR", function() { element.insertAdjacentHTML("beforebegin", "") } ); }, "When the parent node is " + desc + ", insertAdjacentHTML should throw for beforebegin and afterend (elements)"); }