blob: 29a77554f570b26174d37f0a51726e97cf362e34 [file] [log] [blame]
Test the parsing of the filter property.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Basic reference : url('#a')
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "url(\"#a\")"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "url(\"#a\")"
Bare unquoted reference converting to quoted form : url(#a)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "url(\"#a\")"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "url(\"#a\")"
Multiple references : url('#a') url('#b')
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "url(\"#a\") url(\"#b\")"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "url(\"#a\")"
PASS subRule.cssText is "url(\"#b\")"
Reference as 2nd value : grayscale(1) url('#a')
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(1) url(\"#a\")"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "grayscale(1)"
PASS subRule.cssText is "url(\"#a\")"
Integer value : grayscale(1)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "grayscale(1)"
Percentage value : grayscale(50%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(50%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "grayscale(50%)"
Float value converts to integer : grayscale(1.0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "grayscale(1)"
Values over 1 are clamped : grayscale(1.5)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "grayscale(1)"
Percentages over 100 are clamped : grayscale(320%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(100%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "grayscale(100%)"
Zero value : grayscale(0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(0)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "grayscale(0)"
No values : grayscale()
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale()"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "grayscale()"
Multiple values : grayscale(0.5) grayscale(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(0.5) grayscale(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "grayscale(0.5)"
PASS subRule.cssText is "grayscale(0.25)"
Integer value : sepia(1)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "sepia(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "sepia(1)"
Percentage value : sepia(50%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "sepia(50%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "sepia(50%)"
Float value converts to integer : sepia(1.0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "sepia(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "sepia(1)"
Values over 1 are clamped : sepia(8)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "sepia(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "sepia(1)"
Percentages over 100 are clamped : sepia(101%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "sepia(100%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "sepia(100%)"
Negative value : sepia(-0.5)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
Zero value : sepia(0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "sepia(0)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "sepia(0)"
No values : sepia()
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "sepia()"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "sepia()"
Negative value : grayscale(-0.2)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
Multiple values : sepia(0.5) sepia(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "sepia(0.5) sepia(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "sepia(0.5)"
PASS subRule.cssText is "sepia(0.25)"
Rule combinations : sepia(0.5) grayscale(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "sepia(0.5) grayscale(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "sepia(0.5)"
PASS subRule.cssText is "grayscale(0.25)"
Integer value : saturate(1)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "saturate(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "saturate(1)"
Percentage value : saturate(50%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "saturate(50%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "saturate(50%)"
Percentage value > 1 : saturate(250%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "saturate(250%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "saturate(250%)"
Float value converts to integer : saturate(1.0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "saturate(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "saturate(1)"
Input value > 1 : saturate(5.5)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "saturate(5.5)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "saturate(5.5)"
Negative value : saturate(-0.5)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
Zero value : saturate(0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "saturate(0)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "saturate(0)"
No values : saturate()
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "saturate()"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "saturate()"
Multiple values : saturate(0.5) saturate(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "saturate(0.5) saturate(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "saturate(0.5)"
PASS subRule.cssText is "saturate(0.25)"
Rule combinations : saturate(0.5) grayscale(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "saturate(0.5) grayscale(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "saturate(0.5)"
PASS subRule.cssText is "grayscale(0.25)"
Degrees value as integer : hue-rotate(10deg)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "hue-rotate(10deg)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "hue-rotate(10deg)"
Degrees float value converts to integer : hue-rotate(10.0deg)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "hue-rotate(10deg)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "hue-rotate(10deg)"
Radians value : hue-rotate(10rad)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "hue-rotate(10rad)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "hue-rotate(10rad)"
Gradians value : hue-rotate(10grad)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "hue-rotate(10grad)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "hue-rotate(10grad)"
Turns value : hue-rotate(0.5turn)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "hue-rotate(0.5turn)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "hue-rotate(0.5turn)"
Negative value : hue-rotate(-370.2deg)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "hue-rotate(-370.2deg)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "hue-rotate(-370.2deg)"
Zero value : hue-rotate(0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "hue-rotate(0deg)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "hue-rotate(0deg)"
No values : hue-rotate()
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "hue-rotate()"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "hue-rotate()"
Rule combinations : hue-rotate(10deg) grayscale(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "hue-rotate(10deg) grayscale(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "hue-rotate(10deg)"
PASS subRule.cssText is "grayscale(0.25)"
Integer value : invert(1)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "invert(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "invert(1)"
Percentage value : invert(50%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "invert(50%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "invert(50%)"
Float value converts to integer : invert(1.0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "invert(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "invert(1)"
Values over 1 are clamped : invert(1.01)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "invert(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "invert(1)"
Percentages over 100 are clamped : invert(500000%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "invert(100%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "invert(100%)"
Zero value : invert(0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "invert(0)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "invert(0)"
Negative value : invert(-0.5)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
No values : invert()
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "invert()"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "invert()"
Multiple values : invert(0.5) invert(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "invert(0.5) invert(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "invert(0.5)"
PASS subRule.cssText is "invert(0.25)"
Rule combinations : invert(0.5) grayscale(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "invert(0.5) grayscale(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "invert(0.5)"
PASS subRule.cssText is "grayscale(0.25)"
Integer value : opacity(1)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "opacity(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "opacity(1)"
Percentage value : opacity(50%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "opacity(50%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "opacity(50%)"
Float value converts to integer : opacity(1.0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "opacity(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "opacity(1)"
Values over 1 are clamped : opacity(2134687326)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "opacity(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "opacity(1)"
Percentages over 100 are clamped : opacity(500%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "opacity(100%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "opacity(100%)"
Negative value : opacity(-0.5)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
Zero value : opacity(0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "opacity(0)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "opacity(0)"
No values : opacity()
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "opacity()"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "opacity()"
Multiple values : opacity(0.5) opacity(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "opacity(0.5) opacity(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "opacity(0.5)"
PASS subRule.cssText is "opacity(0.25)"
Rule combinations : opacity(0.5) grayscale(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "opacity(0.5) grayscale(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "opacity(0.5)"
PASS subRule.cssText is "grayscale(0.25)"
Integer value : brightness(1)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "brightness(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "brightness(1)"
Percentage value : brightness(50%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "brightness(50%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "brightness(50%)"
Float value converts to integer : brightness(1.0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "brightness(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "brightness(1)"
Zero value : brightness(0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "brightness(0)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "brightness(0)"
Negative value : brightness(-2)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
No values : brightness()
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "brightness()"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "brightness()"
Multiple values : brightness(0.5) brightness(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "brightness(0.5) brightness(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "brightness(0.5)"
PASS subRule.cssText is "brightness(0.25)"
Rule combinations : brightness(0.5) grayscale(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "brightness(0.5) grayscale(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "brightness(0.5)"
PASS subRule.cssText is "grayscale(0.25)"
Value less than -100% : brightness(-1.1)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
Negative value : brightness(-0.6)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
Parameter more than 100% : brightness(101%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "brightness(101%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "brightness(101%)"
Rule combinations : grayscale(0.25) brightness(0.5)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(0.25) brightness(0.5)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "grayscale(0.25)"
PASS subRule.cssText is "brightness(0.5)"
Integer value : contrast(1)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "contrast(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "contrast(1)"
Percentage value : contrast(50%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "contrast(50%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "contrast(50%)"
Percentage value > 1 : contrast(250%)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "contrast(250%)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "contrast(250%)"
Float value converts to integer : contrast(1.0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "contrast(1)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "contrast(1)"
Zero value : contrast(0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "contrast(0)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "contrast(0)"
Negative value : contrast(-0.2)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
No values : contrast()
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "contrast()"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "contrast()"
Value greater than one : contrast(2)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "contrast(2)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "contrast(2)"
Negative value : contrast(-0.8)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
Multiple values : contrast(0.5) contrast(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "contrast(0.5) contrast(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "contrast(0.5)"
PASS subRule.cssText is "contrast(0.25)"
Rule combinations : contrast(0.5) grayscale(0.25)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "contrast(0.5) grayscale(0.25)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "contrast(0.5)"
PASS subRule.cssText is "grayscale(0.25)"
Rule combinations : grayscale(0.25) contrast(0.5)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(0.25) contrast(0.5)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 2
PASS subRule.cssText is "grayscale(0.25)"
PASS subRule.cssText is "contrast(0.5)"
One zero to px : blur(0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "blur(0px)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "blur(0px)"
One length : blur(10px)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "blur(10px)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "blur(10px)"
No values : blur()
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "blur()"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "blur()"
Negative value : blur(-2px)
PASS cssRule.type is 1
PASS declaration.length is 0
PASS declaration.getPropertyValue('filter') is ''
Color then three values : drop-shadow(red 1px 2px 3px)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "drop-shadow(red 1px 2px 3px)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "drop-shadow(red 1px 2px 3px)"
Three values then color : drop-shadow(1px 2px 3px red)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "drop-shadow(red 1px 2px 3px)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "drop-shadow(red 1px 2px 3px)"
Color then three values with zero length : drop-shadow(#abc 0 0 0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "drop-shadow(rgb(170, 187, 204) 0px 0px 0px)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "drop-shadow(rgb(170, 187, 204) 0px 0px 0px)"
Three values with zero length : drop-shadow(0 0 0)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "drop-shadow(0px 0px 0px)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "drop-shadow(0px 0px 0px)"
Two values no color : drop-shadow(1px 2px)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "drop-shadow(1px 2px)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 1
PASS subRule.cssText is "drop-shadow(1px 2px)"
Multiple operations : grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)
PASS cssRule.type is 1
PASS declaration.length is 1
PASS declaration.getPropertyValue('filter') is "grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px) drop-shadow(green 1px 2px 3px)"
PASS jsWrapperClass(filterRule) is 'CSSValueList'
PASS jsWrapperClass(filterRule.__proto__) is 'CSSValueListPrototype'
PASS jsWrapperClass(filterRule.constructor) is 'Function'
PASS filterRule.length is 8
PASS subRule.cssText is "grayscale(0.5)"
PASS subRule.cssText is "sepia(0.25)"
PASS subRule.cssText is "saturate(0.75)"
PASS subRule.cssText is "hue-rotate(35deg)"
PASS subRule.cssText is "invert(0.2)"
PASS subRule.cssText is "opacity(0.9)"
PASS subRule.cssText is "blur(5px)"
PASS subRule.cssText is "drop-shadow(green 1px 2px 3px)"
PASS successfullyParsed is true
TEST COMPLETE