Test that resetting 'counter-reset' and 'counter-increment' with 'none' works as expected.

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

Testing resetting 'counter-reset' alone
PASS window.getComputedStyle(counterReset, null).getPropertyValue("counter-reset") is "c 10"
PASS window.getComputedStyle(counterReset, null).getPropertyValue("counter-increment") is "none"
PASS window.getComputedStyle(counterReset, null).getPropertyValue("counter-reset") is "none"
PASS window.getComputedStyle(counterReset, null).getPropertyValue("counter-increment") is "none"
Testing resetting 'counter-increment' alone
PASS window.getComputedStyle(counterIncrement, null).getPropertyValue("counter-reset") is "none"
PASS window.getComputedStyle(counterIncrement, null).getPropertyValue("counter-increment") is "c 2"
PASS window.getComputedStyle(counterIncrement, null).getPropertyValue("counter-reset") is "none"
PASS window.getComputedStyle(counterIncrement, null).getPropertyValue("counter-increment") is "none"
Testing resetting 'counter-reset' with 'counter-increment'
PASS window.getComputedStyle(counterResetAndIncrementSameCounter, null).getPropertyValue("counter-reset") is "c 10"
PASS window.getComputedStyle(counterResetAndIncrementSameCounter, null).getPropertyValue("counter-increment") is "c 2"
PASS window.getComputedStyle(counterResetAndIncrementSameCounter, null).getPropertyValue("counter-reset") is "none"
PASS window.getComputedStyle(counterResetAndIncrementSameCounter, null).getPropertyValue("counter-increment") is "c 2"
Testing resetting 'counter-increment' with 'counter-reset'
PASS window.getComputedStyle(counterResetAndIncrementDifferentCounter, null).getPropertyValue("counter-reset") is "a 5"
PASS window.getComputedStyle(counterResetAndIncrementDifferentCounter, null).getPropertyValue("counter-increment") is "c 2"
PASS window.getComputedStyle(counterResetAndIncrementDifferentCounter, null).getPropertyValue("counter-reset") is "a 5"
PASS window.getComputedStyle(counterResetAndIncrementDifferentCounter, null).getPropertyValue("counter-increment") is "none"
PASS successfullyParsed is true

TEST COMPLETE

