Test to make sure text-decoration-color is computed properly.

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

Ancestor should not inherit 'green' value from parent (fallback to initial value):
PASS e.style.textDecorationColor is ""
PASS computedStyle.textDecorationColor is "rgb(0, 0, 0)"


Parent should contain 'green':
PASS e.style.textDecorationColor is "green"
PASS computedStyle.textDecorationColor is "rgb(0, 128, 0)"


JavaScript setter tests for valid, initial, invalid and blank values:
PASS e.style.textDecorationColor is ""

Valid value 'blue':
PASS e.style.textDecorationColor is "blue"
PASS computedStyle.textDecorationColor is "rgb(0, 0, 255)"


Valid value '#FFFFFF':
PASS e.style.textDecorationColor is "rgb(255, 255, 255)"
PASS computedStyle.textDecorationColor is "rgb(255, 255, 255)"


Valid value 'rgb(0, 255, 0)':
PASS e.style.textDecorationColor is "rgb(0, 255, 0)"
PASS computedStyle.textDecorationColor is "rgb(0, 255, 0)"


Valid value 'rgba(100, 100, 100, 0.5)':
PASS e.style.textDecorationColor is "rgba(100, 100, 100, 0.5)"
PASS computedStyle.textDecorationColor is "rgba(100, 100, 100, 0.5)"


Valid value 'hsl(240, 100%, 50%)':
PASS e.style.textDecorationColor is "rgb(0, 0, 255)"
PASS computedStyle.textDecorationColor is "rgb(0, 0, 255)"


Valid value 'hsla(240, 100%, 50%, 0.5)':
PASS e.style.textDecorationColor is "rgba(0, 0, 255, 0.5)"
PASS computedStyle.textDecorationColor is "rgba(0, 0, 255, 0.5)"


Initial value:
PASS e.style.textDecorationColor is "initial"
PASS computedStyle.textDecorationColor is "rgb(0, 0, 0)"


Invalid value (ie. 'unknown'):
PASS e.style.textDecorationColor is "initial"
PASS computedStyle.textDecorationColor is "rgb(0, 0, 0)"


Empty value (resets the property):
PASS e.style.textDecorationColor is ""
PASS computedStyle.textDecorationColor is "rgb(0, 0, 0)"


Empty value with different 'currentColor' initial value (green):
PASS e.style.textDecorationColor is ""
PASS computedStyle.textDecorationColor is "rgb(0, 128, 0)"


PASS successfullyParsed is true

TEST COMPLETE

