Tests that CSS3 calc() can be used with the rgb() and rgba() functions

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


PASS getComputedStyle(document.getElementById("simple"), null).color is "rgb(10, 180, 30)"
PASS getComputedStyle(document.getElementById("percentsimple"), null).color is "rgb(26, 242, 77)"
FAIL getComputedStyle(document.getElementById("percentnumber"), null).color should be rgb(26, 240, 80). Was rgb(0, 0, 0).
PASS getComputedStyle(document.getElementById("alpha"), null).color is "rgba(10, 180, 30, 0.7)"
PASS getComputedStyle(document.getElementById("percentalpha"), null).color is "rgba(26, 242, 77, 0.7)"
FAIL getComputedStyle(document.getElementById("percentnumberalpha"), null).color should be rgba(26, 240, 80, 0.5). Was rgb(0, 0, 0).
PASS successfullyParsed is true

TEST COMPLETE

