Test to make sure border-radius shorthand property returns CSSValueList properly.

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


PASS computedStyle.getPropertyValue('border-radius') is '64px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '64px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '64px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '64px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '64px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '64px'
PASS checkComputedStyleValue() is true
PASS computedStyle.getPropertyValue('border-radius') is '32px 16px 64px / 8px 48px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '32px 16px 64px / 8px 48px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '32px 8px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '16px 48px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '64px 8px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '16px 48px'
PASS checkComputedStyleValue() is true
PASS computedStyle.getPropertyValue('border-radius') is '64px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '64px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '64px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '64px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '64px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '64px'
PASS checkComputedStyleValue() is true
PASS computedStyle.getPropertyValue('border-radius') is '1px 2px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '1px 2px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '1px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '2px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '1px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '2px'
PASS checkComputedStyleValue() is true
PASS computedStyle.getPropertyValue('border-radius') is '1px 2px 4px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '1px 2px 4px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '1px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '2px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '4px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '2px'
PASS checkComputedStyleValue() is true
PASS computedStyle.getPropertyValue('border-radius') is '1px 2px 4px 6px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '1px 2px 4px 6px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '1px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '2px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '4px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '6px'
PASS checkComputedStyleValue() is true
PASS computedStyle.getPropertyValue('border-radius') is '1px 2px 4px 6px / 64px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '1px 2px 4px 6px / 64px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '1px 64px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '2px 64px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '4px 64px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '6px 64px'
PASS checkComputedStyleValue() is true
PASS computedStyle.getPropertyValue('border-radius') is '1px 2px 4px 6px / 64px 3px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '1px 2px 4px 6px / 64px 3px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '1px 64px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '2px 3px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '4px 64px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '6px 3px'
PASS checkComputedStyleValue() is true
PASS computedStyle.getPropertyValue('border-radius') is '1px 2px 4px 6px / 64px 3px 7px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '1px 2px 4px 6px / 64px 3px 7px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '1px 64px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '2px 3px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '4px 7px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '6px 3px'
PASS checkComputedStyleValue() is true
PASS computedStyle.getPropertyValue('border-radius') is '1px 2px 4px 6px / 64px 3px 7px 8px'
PASS computedStyle.getPropertyCSSValue('border-radius').toString() is '[object CSSValueList]'
PASS computedStyle.getPropertyCSSValue('border-radius').cssText is '1px 2px 4px 6px / 64px 3px 7px 8px'
PASS computedStyle.getPropertyCSSValue('border-top-left-radius').cssText is '1px 64px'
PASS computedStyle.getPropertyCSSValue('border-top-right-radius').cssText is '2px 3px'
PASS computedStyle.getPropertyCSSValue('border-bottom-right-radius').cssText is '4px 7px'
PASS computedStyle.getPropertyCSSValue('border-bottom-left-radius').cssText is '6px 8px'
PASS checkComputedStyleValue() is true
PASS successfullyParsed is true

TEST COMPLETE

