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 'CSSValueListPrototype'
PASS jsWrapperClass(imageSetRule.constructor) is 'CSSValueListConstructor'
PASS imageSetRule.length is 2
PASS subRule is 'a'
PASS subRule.cssText is '1'

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

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 'CSSValueListPrototype'
PASS jsWrapperClass(imageSetRule.constructor) is 'CSSValueListConstructor'
PASS imageSetRule.length is 6
PASS subRule is 'c'
PASS subRule.cssText is '3'
PASS subRule is 'b'
PASS subRule.cssText is '2'
PASS subRule is 'a'
PASS subRule.cssText is '1'

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

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

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

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

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

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

TEST COMPLETE

