Tests that CSS3 calc() can be used for the line-height property

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

PASS getComputedStyle(document.getElementById("calc-percent"), null).lineHeight is getComputedStyle(document.getElementById("control"), null).lineHeight
PASS getComputedStyle(document.getElementById("calc-percent-pixels"), null).lineHeight is getComputedStyle(document.getElementById("control"), null).lineHeight
PASS getComputedStyle(document.getElementById("calc-percent-ems"), null).lineHeight is getComputedStyle(document.getElementById("control"), null).lineHeight
PASS getComputedStyle(document.getElementById("calc-percent"), null).lineHeight is getComputedStyle(document.getElementById("control"), null).lineHeight
PASS getComputedStyle(document.getElementById("calc-percent-pixels"), null).lineHeight is getComputedStyle(document.getElementById("control"), null).lineHeight
PASS getComputedStyle(document.getElementById("calc-percent-ems"), null).lineHeight is getComputedStyle(document.getElementById("control"), null).lineHeight
PASS successfullyParsed is true

TEST COMPLETE

