Check if :valid/:invalid CSS pseudo selectors are lively applied for fieldsets

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


Removing and adding required text inputs and modifying their value by a DOM tree mutation:
PASS backgroundOf(fieldset1) is invalidColor
PASS backgroundOf(sub1) is subInvalidColor
PASS fieldset1.removeChild(input1); backgroundOf(fieldset1) is validColor
PASS backgroundOf(sub1) is subValidColor
PASS fieldset1.appendChild(input1); backgroundOf(fieldset1) is invalidColor
PASS backgroundOf(sub1) is subInvalidColor
PASS input1.setAttribute("value", "a"); backgroundOf(fieldset1) is validColor
PASS backgroundOf(sub1) is subValidColor
PASS input2.setAttribute("value", ""); backgroundOf(fieldset1) is invalidColor
PASS backgroundOf(sub1) is subInvalidColor

Disabling and marking inputs readonly by a DOM tree mutation:
PASS backgroundOf(fieldset1) is invalidColor
PASS backgroundOf(sub1) is subInvalidColor
PASS input1.disabled=1; backgroundOf(fieldset1) is validColor
PASS backgroundOf(sub1) is subValidColor
PASS input1.disabled=0; backgroundOf(fieldset1) is invalidColor
PASS backgroundOf(sub1) is subInvalidColor
PASS input1.setAttribute("readonly", "1"); backgroundOf(fieldset1) is validColor
PASS backgroundOf(sub1) is subValidColor

Adding a required text input that is not a direct child of the fieldset:
PASS backgroundOf(fieldset1) is validColor
PASS div1.appendChild(input1); backgroundOf(fieldset1) is invalidColor

Nested fieldsets:
PASS backgroundOf($("fieldset0")) is invalidColor
PASS backgroundOf($("fieldset1")) is invalidColor
PASS backgroundOf($("fieldset2")) is validColor
PASS input1.setAttribute("value", "v"); backgroundOf($("fieldset0")) is validColor
PASS backgroundOf($("fieldset1")) is validColor
PASS backgroundOf($("fieldset2")) is validColor
PASS input2.setAttribute("required", ""); backgroundOf($("fieldset0")) is invalidColor
PASS backgroundOf($("fieldset1")) is validColor
PASS backgroundOf($("fieldset2")) is invalidColor

Render multiple fieldsets and move an invalid input from one to another:
PASS backgroundOf($("fieldset1")) is invalidColor
PASS backgroundOf($("fieldset2")) is validColor
PASS backgroundOf($("fieldset3")) is validColor
PASS backgroundOf($("fieldset1")) is validColor
PASS backgroundOf($("fieldset3")) is invalidColor

Ensure that invalid event was not triggered on style evaluation:
PASS backgroundOf(fieldset1) is invalidColor
PASS val is "0"
PASS input1.checkValidity(); val is "1"

PASS successfullyParsed is true

TEST COMPLETE

