Various tests for the marquee element.

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


"behavior" IDL attribute reflects content attribute:
PASS marquee.behavior is "slide"
"behavior" IDL attribute can be modified:
PASS marquee.behavior is "alternate"
"bgColor" IDL attribute reflects content attribute:
PASS marquee.bgColor is "red"
"bgColor" IDL attribute can be modified:
PASS marquee.bgColor is "blue"
"direction" IDL attribute reflects content attribute:
PASS marquee.direction is "right"
"direction" IDL attribute can be modified:
PASS marquee.direction is "left"
"height" IDL attribute reflects content attribute:
PASS marquee.height is "100px"
"height" IDL attribute can be modified:
PASS marquee.height is "200px"
"hspace" IDL attribute reflects content attribute:
PASS marquee.hspace is 10
"hspace" IDL attribute can be modified:
PASS marquee.hspace is 20
"hspace" IDL attribute is 0 when content attribute is negative:
PASS marquee.hspace is 0
"hspace" IDL attribute is 0 when content attribute is too large:
PASS marquee.hspace is 0
"loop" IDL attribute reflects content attribute:
PASS marquee.loop is 3
"loop" IDL attribute can be modified:
PASS marquee.loop is 4
"scrollAmount" IDL attribute reflects content attribute:
PASS marquee.scrollAmount is 5
"scrollAmount" IDL attribute can be modified:
PASS marquee.scrollAmount is 6
"scrollDelay" IDL attribute reflects content attribute:
PASS marquee.scrollDelay is 50
"scrollDelay" IDL attribute can be modified:
PASS marquee.scrollDelay is 60
"trueSpeed" IDL attribute reflects content attribute:
PASS marquee.trueSpeed is true
"trueSpeed" IDL attribute can be modified:
PASS marquee.trueSpeed is false
"vspace" IDL attribute reflects content attribute:
PASS marquee.vspace is 10
"vspace" IDL attribute can be modified:
PASS marquee.vspace is 20
"vspace" IDL attribute is 0 when content attribute is negative:
PASS marquee.vspace is 0
"vspace" IDL attribute is 0 when content attribute is too large:
PASS marquee.vspace is 0
Default "scrollAmount" value is 6:
PASS marquee.scrollAmount is 6
"scrollAmount" uses default value when content attribute is not a number:
PASS marquee.scrollAmount is 6
"scrollAmount" uses default value when content attribute is too large:
PASS marquee.scrollAmount is 6
"scrollAmount" uses default value when content attribute is negative:
PASS marquee.scrollAmount is 6
"scrollAmount" can be set to 0:
PASS marquee.scrollAmount is 0
"scrollAmount" can be set to 2^31-1:
PASS marquee.scrollAmount is 2147483647
"scrollAmount" can contain whitespace:
PASS marquee.scrollAmount is 5
"scrollAmount" can contain trailing non-numeric values:
PASS marquee.scrollAmount is 5
Setting "scrollAmount" to a negative value should set to the default value:
PASS marquee.scrollAmount = -1; did not throw exception.
PASS marquee.scrollAmount is 6
Setting "scrollAmount" to a value that is too large should set to the default value:
PASS marquee.scrollAmount = 2147483648; did not throw exception.
PASS marquee.scrollAmount is 6
Default "scrollDelay" value is 85:
PASS marquee.scrollDelay is 85
"scrollDelay" uses default value when content attribute is not a number:
PASS marquee.scrollDelay is 85
"scrollDelay" uses default value when content attribute is too large:
PASS marquee.scrollDelay is 85
"scrollDelay" uses default value when content attribute is negative:
PASS marquee.scrollDelay is 85
"scrollDelay" can be set to 0:
PASS marquee.scrollDelay is 0
"scrollDelay" can be set to 2^31-1:
PASS marquee.scrollDelay is 2147483647
"scrollDelay" can contain whitespace:
PASS marquee.scrollDelay is 5
"scrollDelay" can contain trailing non-numeric values:
PASS marquee.scrollDelay is 5
Setting "scrollDelay" to a negative value should set to the default value:
PASS marquee.scrollDelay = -1; did not throw exception.
PASS marquee.scrollDelay is 85
Setting "scrollDelay" to a value that is too large should set to the default value:
PASS marquee.scrollDelay = 2147483648; did not throw exception.
PASS marquee.scrollDelay is 85
Default "loop" value is -1:
PASS marquee.loop is -1
"loop" uses default value when content attribute is not a number:
PASS marquee.loop is -1
"loop" uses default value when content attribute is too large:
PASS marquee.loop is -1
"loop" uses default value when content attribute is negative:
PASS marquee.loop is -1
"loop" uses default value when set to 0:
PASS marquee.loop is -1
"loop" can be set to 1:
PASS marquee.loop is 1
"loop" can be set to 2^31-1:
PASS marquee.loop is 2147483647
"loop" can contain whitespace:
PASS marquee.loop is 5
"loop" can contain trailing non-numeric values:
PASS marquee.loop is 5
Setting "loop" to 0 raises an exception:
PASS document.getElementById("marquee").loop = 0; threw exception IndexSizeError: The index is not in the allowed range..
Setting "loop" to a negative value raises an exception:
PASS document.getElementById("marquee").loop = -5; threw exception IndexSizeError: The index is not in the allowed range..
"loop" can be set to -1 by script:
PASS marquee.loop is -1
PASS successfullyParsed is true

TEST COMPLETE

