Various tests for the footer element.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


<footer> closes <p>:
PASS footer1.parentNode.nodeName == "p" is false
<p> does not close <footer>:
PASS p1.parentNode.nodeName is "FOOTER"
<footer> can be nested inside <footer> or <header>:
PASS footer3.parentNode.id is "footer2"
PASS footer5.parentNode.id is "header1"
Residual style:
PASS getWeight("footer4") is "bold"
PASS getWeight("span1") is "bold"
FormatBlock:
PASS document.getElementById("span2").parentNode.nodeName is "FOOTER"
PASS successfullyParsed is true

TEST COMPLETE

