Test the parsing of the -webkit-image-set function.

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



Single value for background-image : url('#a') 1x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 2
PASS subRule is 'a'
PASS subRule.cssText is '1x'

Multiple values for background-image : url('#a') 1x, url('#b') 2x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 4
PASS subRule is 'a'
PASS subRule.cssText is '1x'
PASS subRule is 'b'
PASS subRule.cssText is '2x'

Single value for background-image without url() function : '#a' 1x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 2
PASS subRule is 'a'
PASS subRule.cssText is '1x'

Multiple values for background-image without url() function : '#a' 1x, '#b' 2x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 4
PASS subRule is 'a'
PASS subRule.cssText is '1x'
PASS subRule is 'b'
PASS subRule.cssText is '2x'

Mix values with and without url() function : '#a' 1x, url('#b') 2x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 4
PASS subRule is 'a'
PASS subRule.cssText is '1x'
PASS subRule is 'b'
PASS subRule.cssText is '2x'

Multiple values for background-image, out of order : url('#c') 3x, url('#b') 2x, url('#a') 1x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 6
PASS subRule is 'c'
PASS subRule.cssText is '3x'
PASS subRule is 'b'
PASS subRule.cssText is '2x'
PASS subRule is 'a'
PASS subRule.cssText is '1x'

Single value for content : url('#a') 1x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 2
PASS subRule is 'a'
PASS subRule.cssText is '1x'

Multiple values for content : url('#a') 1x, url('#b') 2x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 4
PASS subRule is 'a'
PASS subRule.cssText is '1x'
PASS subRule is 'b'
PASS subRule.cssText is '2x'

Single value for border-image : url('#a') 1x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 2
PASS subRule is 'a'
PASS subRule.cssText is '1x'

Multiple values for border-image : url('#a') 1x, url('#b') 2x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 4
PASS subRule is 'a'
PASS subRule.cssText is '1x'
PASS subRule is 'b'
PASS subRule.cssText is '2x'

Single value for -webkit-mask-box-image : url('#a') 1x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 2
PASS subRule is 'a'
PASS subRule.cssText is '1x'

Multiple values for -webkit-mask-box-image : url('#a') 1x, url('#b') 2x
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 4
PASS subRule is 'a'
PASS subRule.cssText is '1x'
PASS subRule is 'b'
PASS subRule.cssText is '2x'

Single value with dppx : url('#a') 1dppx
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 2
PASS subRule is 'a'
PASS subRule.cssText is '1dppx'

Single value with dpi : url('#a') 192dpi
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 2
PASS subRule is 'a'
PASS subRule.cssText is '192dpi'

Single value with dpcm : url('#a') 102dpcm
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 2
PASS subRule is 'a'
PASS subRule.cssText is '102dpcm'

Multiple values with dpi, dppx and x : url('#a') 1x, url('#b') 2dppx, url('#c') 250dpi
PASS jsWrapperClass(imageSetRule) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(imageSetRule.constructor) is 'Function'
PASS imageSetRule.length is 6
PASS subRule is 'a'
PASS subRule.cssText is '1x'
PASS subRule is 'b'
PASS subRule.cssText is '2dppx'
PASS subRule is 'c'
PASS subRule.cssText is '250dpi'
PASS successfullyParsed is true

TEST COMPLETE

