| OLD | NEW |
| (Empty) |
| 1 description("Test the computed style of the -webkit-filter property."); | |
| 2 | |
| 3 // These have to be global for the test helpers to see them. | |
| 4 var filterStyle; | |
| 5 var styleElement = document.createElement("style"); | |
| 6 document.head.appendChild(styleElement); | |
| 7 var stylesheet = styleElement.sheet; | |
| 8 | |
| 9 function testComputedFilterRule(description, rule, expectedValue) | |
| 10 { | |
| 11 if (expectedValue === undefined) | |
| 12 expectedValue = rule; | |
| 13 | |
| 14 debug(""); | |
| 15 debug(description + " : " + rule); | |
| 16 | |
| 17 stylesheet.insertRule("body { -webkit-filter: " + rule + "; }", 0); | |
| 18 | |
| 19 filterStyle = window.getComputedStyle(document.body).getPropertyValue('-webk
it-filter'); | |
| 20 shouldBeEqualToString("filterStyle", expectedValue); | |
| 21 stylesheet.deleteRule(0); | |
| 22 } | |
| 23 | |
| 24 testComputedFilterRule("Basic reference", "url('#a')", 'url("#a")'); | |
| 25 testComputedFilterRule("Bare unquoted reference converting to quoted form", "url
(#a)", 'url("#a")'); | |
| 26 testComputedFilterRule("Multiple references", "url('#a') url('#b')", 'url("#a")
url("#b")'); | |
| 27 testComputedFilterRule("Reference as 2nd value", "grayscale(1) url('#a')", 'gray
scale(1) url("#a")'); | |
| 28 testComputedFilterRule("Integer value", "grayscale(1)"); | |
| 29 testComputedFilterRule("Float value converts to integer", "grayscale(1.0)", "gra
yscale(1)"); | |
| 30 testComputedFilterRule("Zero value", "grayscale(0)"); | |
| 31 testComputedFilterRule("No values", "grayscale()", "grayscale(1)"); | |
| 32 testComputedFilterRule("Multiple values", "grayscale(0.5) grayscale(0.25)"); | |
| 33 testComputedFilterRule("Integer value", "sepia(1)"); | |
| 34 testComputedFilterRule("Float value converts to integer", "sepia(1.0)", "sepia(1
)"); | |
| 35 testComputedFilterRule("Zero value", "sepia(0)"); | |
| 36 testComputedFilterRule("No values", "sepia()", "sepia(1)"); | |
| 37 testComputedFilterRule("Multiple values", "sepia(0.5) sepia(0.25)"); | |
| 38 testComputedFilterRule("Rule combinations", "sepia(0.5) grayscale(0.25)"); | |
| 39 testComputedFilterRule("Integer value", "saturate(1)"); | |
| 40 testComputedFilterRule("Float value converts to integer", "saturate(1.0)", "satu
rate(1)"); | |
| 41 testComputedFilterRule("Zero value", "saturate(0)"); | |
| 42 testComputedFilterRule("No values", "saturate()", "saturate(1)"); | |
| 43 testComputedFilterRule("Multiple values", "saturate(0.5) saturate(0.25)"); | |
| 44 testComputedFilterRule("Rule combinations", "saturate(0.5) grayscale(0.25)"); | |
| 45 testComputedFilterRule("Degrees value as integer", "hue-rotate(10deg)"); | |
| 46 testComputedFilterRule("Degrees float value converts to integer", "hue-rotate(10
.0deg)", "hue-rotate(10deg)"); | |
| 47 testComputedFilterRule("Radians value", "hue-rotate(10rad)", "hue-rotate(572.958
deg)"); | |
| 48 testComputedFilterRule("Gradians value", "hue-rotate(10grad)", "hue-rotate(9deg)
"); | |
| 49 testComputedFilterRule("Turns value", "hue-rotate(0.5turn)", "hue-rotate(180deg)
"); | |
| 50 testComputedFilterRule("Zero value", "hue-rotate(0)", "hue-rotate(0deg)"); | |
| 51 testComputedFilterRule("No values", "hue-rotate()", "hue-rotate(0deg)"); | |
| 52 testComputedFilterRule("Rule combinations", "hue-rotate(10deg) grayscale(0.25)")
; | |
| 53 testComputedFilterRule("Integer value", "invert(1)"); | |
| 54 testComputedFilterRule("Float value converts to integer", "invert(1.0)", "invert
(1)"); | |
| 55 testComputedFilterRule("Zero value", "invert(0)"); | |
| 56 testComputedFilterRule("No values", "invert()", "invert(1)"); | |
| 57 testComputedFilterRule("Multiple values", "invert(0.5) invert(0.25)"); | |
| 58 testComputedFilterRule("Rule combinations", "invert(0.5) grayscale(0.25)"); | |
| 59 testComputedFilterRule("Integer value", "opacity(1)"); | |
| 60 testComputedFilterRule("Float value converts to integer", "opacity(1.0)", "opaci
ty(1)"); | |
| 61 testComputedFilterRule("Zero value", "opacity(0)"); | |
| 62 testComputedFilterRule("No values", "opacity()", "opacity(1)"); | |
| 63 testComputedFilterRule("Multiple values", "opacity(0.5) opacity(0.25)"); | |
| 64 testComputedFilterRule("Rule combinations", "opacity(0.5) grayscale(0.25)"); | |
| 65 testComputedFilterRule("Integer value", "brightness(1)"); | |
| 66 testComputedFilterRule("Float value converts to integer", "brightness(1.0)", "br
ightness(1)"); | |
| 67 testComputedFilterRule("Zero value", "brightness(0)"); | |
| 68 testComputedFilterRule("No values", "brightness()", "brightness(0)"); | |
| 69 testComputedFilterRule("Multiple values", "brightness(0.5) brightness(0.25)"); | |
| 70 testComputedFilterRule("Rule combinations", "brightness(0.5) grayscale(0.25)"); | |
| 71 testComputedFilterRule("Integer value", "contrast(1)"); | |
| 72 testComputedFilterRule("Value greater than 1", "contrast(2)"); | |
| 73 testComputedFilterRule("Float value converts to integer", "contrast(1.0)", "cont
rast(1)"); | |
| 74 testComputedFilterRule("Zero value", "contrast(0)"); | |
| 75 testComputedFilterRule("No values", "contrast()", "contrast(1)"); | |
| 76 testComputedFilterRule("Multiple values", "contrast(0.5) contrast(0.25)"); | |
| 77 testComputedFilterRule("Rule combinations", "contrast(0.5) grayscale(0.25)"); | |
| 78 testComputedFilterRule("One zero to px", "blur(0)", "blur(0px)"); | |
| 79 testComputedFilterRule("One length", "blur(2em)", "blur(32px)"); | |
| 80 testComputedFilterRule("One length", "blur(5px)"); | |
| 81 testComputedFilterRule("No values", "blur()", "blur(0px)"); | |
| 82 | |
| 83 testComputedFilterRule("Color then three values", | |
| 84 "drop-shadow(red 1px 2px 3px)", "drop-shadow(rgb(255, 0, 0) 1px 2px 3px)"); | |
| 85 | |
| 86 testComputedFilterRule("Three values then color", | |
| 87 "drop-shadow(1px 2px 3px red)", "drop-shadow(rgb(255, 0, 0) 1px 2px 3px)"); | |
| 88 | |
| 89 testComputedFilterRule("Color then three values with zero length", | |
| 90 "drop-shadow(#abc 0 0 0)", "drop-shadow(rgb(170, 187, 204) 0px 0px 0px)"); | |
| 91 | |
| 92 testComputedFilterRule("Three values with zero length", | |
| 93 "drop-shadow(0 0 0)", "drop-shadow(rgb(0, 0, 0) 0px 0px 0px)"); | |
| 94 | |
| 95 testComputedFilterRule("Two values no color", | |
| 96 "drop-shadow(1px 2px)", "drop-shadow(rgb(0, 0, 0) 1px 2px 0px)"); | |
| 97 | |
| 98 testComputedFilterRule("Multiple operations", | |
| 99 "grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opa
city(0.9) blur(5px)"); | |
| 100 | |
| 101 testComputedFilterRule("Percentage values", | |
| 102 "grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness
(60%) contrast(30%)", | |
| 103 "grayscale(0.5) sepia(0.25) saturate(0.75) invert(0.2) opacity(0.9) brightne
ss(0.6) contrast(0.3)"); | |
| 104 | |
| 105 successfullyParsed = true; | |
| OLD | NEW |