Test the parsing of the background-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('background-blend-mode') is 'normal'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

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

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

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

Basic reference : darken, lighten, normal, multiply
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('background-blend-mode') is 'darken, lighten, normal, multiply'
PASS jsWrapperClass(blendModeRule) is 'CSSValueList'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSValueList'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'

Basic reference : lighten
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('background-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('background-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('background-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('background-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('background-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('background-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('background-blend-mode') is 'exclusion'
PASS jsWrapperClass(blendModeRule) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.__proto__) is 'CSSPrimitiveValue'
PASS jsWrapperClass(blendModeRule.constructor) is 'Function'
PASS successfullyParsed is true

TEST COMPLETE

