This test performs a check that :valid/:invalid CSS psudo selectors are lively applied.

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


Check the initial state:
PASS backgroundOf(el) is invalidColor
Change name:
PASS backgroundOf(el) is invalidColor
PASS backgroundOf(el) is invalidColor
Change disabled:
PASS backgroundOf(el) is disabledColor
PASS backgroundOf(el) is invalidColor
Inside/outside of a form:
PASS backgroundOf(el) is invalidColor
PASS backgroundOf(el) is invalidColor
Change the values of select elements without explicit initializing values by clicking:
PASS backgroundOf("select-multiple") is validColor
PASS backgroundOf("multiple-empty") is transparentColor
PASS backgroundOf("select-size4") is validColor
PASS backgroundOf("size4-empty") is transparentColor
Change the value with a placeholder label option:
PASS backgroundOf(el) is validColor
PASS backgroundOf(el) is invalidColor
Change the value without a placeholder label option:
PASS backgroundOf(el) is validColor
PASS backgroundOf(el) is validColor
Insert/remove options:
PASS backgroundOf(el) is invalidColor
PASS backgroundOf(el) is validColor
PASS backgroundOf(el) is invalidColor
PASS backgroundOf(el) is validColor
PASS backgroundOf(el) is invalidColor
Set an attribute: multiple:
PASS backgroundOf(el) is invalidColor
PASS backgroundOf(el) is validColor
PASS backgroundOf(el) is invalidColor
Set an attribute: size:
PASS backgroundOf(el) is invalidColor
PASS backgroundOf(el) is validColor
PASS backgroundOf(el) is invalidColor
SelectAll:
PASS backgroundOf(el) is invalidColor
PASS backgroundOf(el) is validColor
Reset:
PASS backgroundOf(el) is validColor
PASS backgroundOf(el) is invalidColor
Change required:
PASS backgroundOf(el) is validColor
PASS backgroundOf(el) is invalidColor
PASS successfullyParsed is true

TEST COMPLETE


