These are tests for testing the how execCommand() works with different combinations of arguments. The "InsertHorizontalRule" command was chosen arbitrarily because it was what I was working on at the time, but the results should be paralleled in the other commands as well.

CONSOLE

PASS <hr></hr> is <hr></hr>
PASS <hr></hr> is <hr></hr>
PASS <hr id="foo"></hr> is <hr id="foo"></hr>
PASS <hr id="foo"></hr> is <hr id="foo"></hr>
PASS <hr></hr> is <hr></hr>
PASS <hr></hr> is <hr></hr>
PASS <hr></hr> is <hr></hr>
PASS <hr id="0"></hr> is <hr id="0"></hr>
PASS <hr></hr> is <hr></hr>

