This tests calls to setInnerHTML, setInnerText, and setOuterHTML to see what kind of DOM modifications they cause. The calls are optimized to not do any work in cases where the DOM would not change at all.

PASS: starting with "", setting innerHTML to ""
PASS: starting with "", setting innerHTML to "text"
PASS: starting with "", setting innerHTML to "<a></a>"
PASS: starting with "", setting innerHTML to "<a></a><b></b>"
PASS: starting with "text", setting innerHTML to ""
PASS: starting with "text", setting innerHTML to "different text"
PASS: starting with "text", setting innerHTML to "text"
PASS: starting with "text", setting innerHTML to "<a></a>"
PASS: starting with "text", setting innerHTML to "<a></a><b></b>"
PASS: starting with "<a></a>", setting innerHTML to ""
PASS: starting with "<a></a>", setting innerHTML to "text"
PASS: starting with "<a></a>", setting innerHTML to "<a></a>"
PASS: starting with "<a></a>", setting innerHTML to "<a href=""></a>"
PASS: starting with "<a></a>", setting innerHTML to "<a>text</a>"
PASS: starting with "<a></a>", setting innerHTML to "<a></a><b></b>"
PASS: starting with "<a>text</a>", setting innerHTML to "<a>text</a>"
PASS: starting with "<a>text</a>", setting innerHTML to "<a>different text</a>"
PASS: starting with "<a href="b"></a>", setting innerHTML to "<a name="c" href="b"></a>"
PASS: starting with "<a href="b" name="c"></a>", setting innerHTML to "<a href="b" name="c"></a>"
PASS: starting with "<a href="b" name="c"></a>", setting innerHTML to "<a name="c" href="b"></a>"
PASS: starting with "", setting innerText to ""
PASS: starting with "", setting innerText to "text"
PASS: starting with "", setting innerText to "<a></a>"
PASS: starting with "", setting innerText to "<a></a><b></b>"
PASS: starting with "text", setting innerText to ""
PASS: starting with "text", setting innerText to "different text"
PASS: starting with "text", setting innerText to "text"
PASS: starting with "<a></a>", setting innerText to ""
PASS: starting with "<a></a>", setting innerText to "text"
PASS: starting with "<div></div>", setting outerHTML to ""
PASS: starting with "<div></div>", setting outerHTML to "text"
PASS: starting with "<div></div>", setting outerHTML to "<a></a>"
PASS: starting with "<div></div>", setting outerHTML to "<a></a><b></b>"
PASS: starting with "<div></div>", setting outerHTML to "<div></div>"
PASS: starting with "<div></div>", setting outerHTML to "<div>text</div>"
PASS: starting with "<div></div>", setting outerHTML to "<div><a></a></div>"
PASS: starting with "<div></div>", setting outerHTML to "<div><a></a><b></b></div>"
PASS: starting with "<div>text</div>", setting outerHTML to ""
PASS: starting with "<div>text</div>", setting outerHTML to "text"
PASS: starting with "<div>text</div>", setting outerHTML to "<a></a>"
PASS: starting with "<div>text</div>", setting outerHTML to "<a></a><b></b>"
PASS: starting with "<div>text</div>", setting outerHTML to "<div></div>"
PASS: starting with "<div>text</div>", setting outerHTML to "<div>text</div>"
PASS: starting with "<div>text</div>", setting outerHTML to "<div>different text</div>"
PASS: starting with "<div>text</div>", setting outerHTML to "<div><a></a></div>"
PASS: starting with "<div>text</div>", setting outerHTML to "<div><a></a><b></b></div>"
PASS: starting with "<div><a></a></div>", setting outerHTML to ""
PASS: starting with "<div><a></a></div>", setting outerHTML to "text"
PASS: starting with "<div><a></a></div>", setting outerHTML to "<a></a>"
PASS: starting with "<div><a></a></div>", setting outerHTML to "<a href=""></a>"
PASS: starting with "<div><a></a></div>", setting outerHTML to "<a>text</a>"
PASS: starting with "<div><a></a></div>", setting outerHTML to "<a></a><b></b>"
PASS: starting with "<div><a></a></div>", setting outerHTML to "<div></div>"
PASS: starting with "<div><a></a></div>", setting outerHTML to "<div>text</div>"
PASS: starting with "<div><a></a></div>", setting outerHTML to "<div>different text</div>"
PASS: starting with "<div><a></a></div>", setting outerHTML to "<div><a></a></div>"
PASS: starting with "<div><a></a></div>", setting outerHTML to "<div><a></a><b></b></div>"
PASS: starting with "<div><a>text</a></div>", setting outerHTML to "<div><a>text</a></div>"
PASS: starting with "<div><a>text</a></div>", setting outerHTML to "<div><a>different text</a></div>"
PASS: starting with "<div><a href="b"></a></div>", setting outerHTML to "<div><a name="c" href="b"></a></div>"
PASS: starting with "<div><a href="b" name="c"></a></div>", setting outerHTML to "<div><a href="b" name="c"></a></div>"
PASS: starting with "<div><a href="b" name="c"></a></div>", setting outerHTML to "<div><a name="c" href="b"></a></div>"
ALL TESTS PASSED
