Test to make sure we return correct text-decoration state on applying different command.

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


FAIL textdecorationState("underline","<span id=e style='text-decoration: none !important;'>hello world</span>", "underline") should be false. Was true.
FAIL textdecorationState("underline","<span id=e style='text-decoration: underline !important;'>hello world</span>", "underline") should be true. Was false.
FAIL textdecorationState("strikeThrough","<span id=e style='text-decoration: underline !important;'>hello world</span>", "strikethrough") should be false. Was true.
PASS textdecorationState("strikeThrough","<span style='text-decoration: underline !important;'><em id=e>hello world</em></span>", "strikethrough") is true
PASS textdecorationState("underline","<span id=e class='underline_important'>hello world</span>", "removeFormat") is true
PASS textdecorationState("strikeThrough","<span id=e class='linethrough_important'>hello world</span>", "removeFormat") is true
PASS textdecorationState("underline","<u><span id=e style='text-decoration: underline !important;'>hello world</span></u>", "underline") is false
PASS textdecorationState("underline","<span id=e style='text-decoration: none;'>hello world</span>", "underline") is true
PASS textdecorationState("underline","<span id=e style='text-decoration: underline;'>hello world</span>", "underline") is false
PASS textdecorationState("strikeThrough","<span id=e style='text-decoration: underline;'>hello world</span>", "strikethrough") is true
PASS textdecorationState("strikeThrough","<span style='text-decoration: underline;'><em id=e>hello world</em></span>", "strikethrough") is true
FAIL textdecorationState("underline","<span id=e  class='underline_decoration'>hello world</span>", "removeFormat") should be false. Was true.
PASS textdecorationState("strikeThrough","<span id=e class='linethrough_decoration'>hello world</span>", "removeFormat") is true
PASS textdecorationState("underline","<span id=e style='text-decoration: underline;'>hello world</span>", "removeFormat") is false
PASS textdecorationState("underline","<span id=e>hello world</span>", "underline") is true
PASS textdecorationState("underline","<u><span id=e>hello world</span></u>", "underline") is false
PASS textdecorationState("underline","<u><span id=e style='text-decoration: underline;'>hello world</span></u>", "underline") is false

