Modifying the media attribute of a link element to apply / unapply to the page should recalc styles

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


PASS link.media is "print"
PASS link.disabled is false
PASS getComputedStyle(target).color is "rgb(0, 0, 0)"
link.media = "screen"
PASS link.media is "screen"
PASS link.disabled is false
PASS getComputedStyle(target).color is "rgb(255, 0, 0)"
link.media = "screen,screen"
PASS link.media is "screen,screen"
PASS link.disabled is false
PASS getComputedStyle(target).color is "rgb(255, 0, 0)"
link.media = "print"
PASS link.media is "print"
PASS link.disabled is false
PASS getComputedStyle(target).color is "rgb(0, 0, 0)"
PASS successfullyParsed is true

TEST COMPLETE

