Test style update caused by attribute changes on a sibling.

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


Initial state does not match, the attribute is not there.
PASS getComputedStyle(document.getElementById("bar-with-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).minWidth is "0px"
Adding the attribute, the extra rules should match.
PASS getComputedStyle(document.getElementById("bar-with-renderer")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).fillOpacity is "0.5"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).fillOpacity is "0.5"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).color is "rgb(4, 5, 6)"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).color is "rgb(4, 5, 6)"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).minWidth is "1px"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).minWidth is "1px"
Emptying the attribute, the extra rules should still match.
PASS getComputedStyle(document.getElementById("bar-with-renderer")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).fillOpacity is "0.5"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).fillOpacity is "0.5"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).color is "rgb(4, 5, 6)"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).color is "rgb(4, 5, 6)"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).minWidth is "1px"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).minWidth is "1px"
Removing the attribute, we should not longer match.
PASS getComputedStyle(document.getElementById("bar-with-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).backgroundColor is "rgb(255, 255, 255)"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).fillOpacity is "1"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).color is "rgb(0, 0, 0)"
PASS getComputedStyle(document.getElementById("bar-with-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("baz-with-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("bar-without-renderer")).minWidth is "0px"
PASS getComputedStyle(document.getElementById("baz-without-renderer")).minWidth is "0px"
PASS successfullyParsed is true

TEST COMPLETE

