Test that adding and removing class names only updates the elements that are affected.

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


PASS internals.updateStyleAndReturnAffectedElementCount() is 2
PASS getComputedStyle(inner).width is "200px"
PASS internals.updateStyleAndReturnAffectedElementCount() is 1
PASS getComputedStyle(inner).width is "100px"
PASS internals.updateStyleAndReturnAffectedElementCount() is 1
PASS getComputedStyle(outer2).width is "150px"
PASS internals.updateStyleAndReturnAffectedElementCount() is 1
PASS successfullyParsed is true

TEST COMPLETE

