Test calling getPropertyValue on computed styles for border radius shorthand properties.

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


PASS window.getComputedStyle(document.getElementById('borderRadius1')).getPropertyValue('border-radius') is '0px 0px 10px 10px'
PASS window.getComputedStyle(document.getElementById('borderRadius2')).getPropertyValue('border-radius') is '0px 0px 0px 10px'
PASS window.getComputedStyle(document.getElementById('borderRadius3')).getPropertyValue('border-radius') is '0px 0px 10px'
PASS window.getComputedStyle(document.getElementById('borderRadius4')).getPropertyValue('border-radius') is '0px 10px'
PASS window.getComputedStyle(document.getElementById('borderRadius5')).getPropertyValue('border-radius') is '10px'
PASS window.getComputedStyle(document.getElementById('NoBorderRadius')).getPropertyValue('border-radius') is '0px'
PASS successfullyParsed is true

TEST COMPLETE

