Test the parsing of the mix-blend-mode property.

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



Basic reference : normal
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'normal'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : multiply
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'multiply'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : screen
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'screen'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : overlay
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'overlay'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : darken
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'darken'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : lighten
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'lighten'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : color-dodge
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'color-dodge'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : color-burn
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'color-burn'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : hard-light
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'hard-light'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : soft-light
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'soft-light'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : difference
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'difference'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : exclusion
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'exclusion'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : plus-darker
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'plus-darker'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : plus-lighter
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('mix-blend-mode') is 'plus-lighter'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'
PASS successfullyParsed is true

TEST COMPLETE

