Test style update for :valid applied on a fieldset.

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



Move fieldset2 inside div3
PASS getComputedStyle(document.getElementById("with-renderer").querySelector(".fieldset1")).backgroundColor is "rgb(4, 5, 6)"
PASS getComputedStyle(document.getElementById("with-renderer").querySelector(".div1")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("with-renderer").querySelector(".div3")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("with-renderer").querySelector(".fieldset2")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("with-renderer").querySelector(".div2")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("with-renderer").querySelector(".input1")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("without-renderer").querySelector(".fieldset1")).backgroundColor is "rgb(4, 5, 6)"
PASS getComputedStyle(document.getElementById("without-renderer").querySelector(".div1")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("without-renderer").querySelector(".div3")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("without-renderer").querySelector(".fieldset2")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("without-renderer").querySelector(".div2")).backgroundColor is "rgb(1, 2, 3)"
PASS getComputedStyle(document.getElementById("without-renderer").querySelector(".input1")).backgroundColor is "rgb(1, 2, 3)"
PASS successfullyParsed is true

TEST COMPLETE

