Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/css3/filters/script-tests/unprefixed.js |
| diff --git a/third_party/WebKit/LayoutTests/css3/filters/script-tests/unprefixed.js b/third_party/WebKit/LayoutTests/css3/filters/script-tests/unprefixed.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ceba9bc3e2ae6c424e546441142c8dd2e4286a27 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/css3/filters/script-tests/unprefixed.js |
| @@ -0,0 +1,293 @@ |
| +description("Test that -webkit-filter matches filter."); |
|
fs
2016/05/23 12:29:52
This looks like it could quite trivially be conver
Noel Gordon
2016/05/29 04:15:28
Maybe, but I won't have the time for it, so it can
fs
2016/05/30 11:58:52
Fair enough, I can fix it up later.
|
| + |
| +var styleElement = document.createElement("style"); |
| +document.head.appendChild(styleElement); |
| +var styleSheet = styleElement.sheet; |
| + |
| +function testComputedFilterRule(description, rule, expected) |
| +{ |
| + styleSheet.insertRule("body { -webkit-filter: " + rule + "; }", 0); |
| + debug(description + " : -webkit-filter: " + rule); |
| + |
| + var style = window.getComputedStyle(document.body).getPropertyValue('filter'); |
| + var value = "computed filter style: " + style; |
| + |
| + if (style != expected) { |
| + testFailed(value + " should have style: " + expected); |
| + } else { |
| + testPassed(value); |
| + } |
| + |
| + styleSheet.deleteRule(0); |
| + debug(""); |
| +} |
| + |
| +testComputedFilterRule("Basic reference", |
| + "url('#a')", |
| + 'url("#a")'); |
| + |
| +testComputedFilterRule("Bare unquoted reference converting to quoted form", |
| + "url(#a)", |
| + 'url("#a")'); |
| + |
| +testComputedFilterRule("Multiple references", |
| + "url('#a') url('#b')", |
| + 'url("#a") url("#b")'); |
| + |
| +testComputedFilterRule("Reference as 2nd value", |
| + "grayscale(1) url('#a')", |
| + 'grayscale(1) url("#a")'); |
| + |
| +testComputedFilterRule("Float value converts to integer", |
| + "grayscale(1.0)", |
| + "grayscale(1)"); |
| + |
| +testComputedFilterRule("Zero value", |
| + "grayscale(0)", |
| + "grayscale(0)"); |
| + |
| +testComputedFilterRule("No values", |
| + "grayscale()", |
| + "grayscale(1)"); |
| + |
| +testComputedFilterRule("Multiple values", |
| + "grayscale(0.5) grayscale(0.25)", |
| + "grayscale(0.5) grayscale(0.25)"); |
| + |
| +testComputedFilterRule("Integer value", |
| + "sepia(1)", |
| + "sepia(1)"); |
| + |
| +testComputedFilterRule("Float value converts to integer", |
| + "sepia(1.0)", |
| + "sepia(1)"); |
| + |
| +testComputedFilterRule("Zero value", |
| + "sepia(0)", |
| + "sepia(0)"); |
| + |
| +testComputedFilterRule("No values", |
| + "sepia()", |
| + "sepia(1)"); |
| + |
| +testComputedFilterRule("Multiple values", |
| + "sepia(0.5) sepia(0.25)", |
| + "sepia(0.5) sepia(0.25)"); |
| + |
| +testComputedFilterRule("Rule combinations", |
| + "sepia(0.5) grayscale(0.25)", |
| + "sepia(0.5) grayscale(0.25)"); |
| + |
| +testComputedFilterRule("Integer value", |
| + "saturate(1)", |
| + "saturate(1)"); |
| + |
| +testComputedFilterRule("Float value converts to integer", |
| + "saturate(1.0)", |
| + "saturate(1)"); |
| + |
| +testComputedFilterRule("Zero value", |
| + "saturate(0)", |
| + "saturate(0)"); |
| + |
| +testComputedFilterRule("No values", |
| + "saturate()", |
| + "saturate(1)"); |
| + |
| +testComputedFilterRule("Multiple values", |
| + "saturate(0.5) saturate(0.25)", |
| + "saturate(0.5) saturate(0.25)"); |
| + |
| +testComputedFilterRule("Rule combinations", |
| + "saturate(0.5) grayscale(0.25)", |
| + "saturate(0.5) grayscale(0.25)"); |
| + |
| +testComputedFilterRule("Degrees value as integer", |
| + "hue-rotate(10deg)", |
| + "hue-rotate(10deg)"); |
| + |
| +testComputedFilterRule("Degrees float value converts to integer", |
| + "hue-rotate(10.0deg)", |
| + "hue-rotate(10deg)"); |
| + |
| +testComputedFilterRule("Radians value", |
| + "hue-rotate(10rad)", |
| + "hue-rotate(572.958deg)"); |
| + |
| +testComputedFilterRule("Gradians value", |
| + "hue-rotate(10grad)", |
| + "hue-rotate(9deg)"); |
| + |
| +testComputedFilterRule("Turns value", |
| + "hue-rotate(0.5turn)", |
| + "hue-rotate(180deg)"); |
| + |
| +testComputedFilterRule("Zero value", |
| + "hue-rotate(0)", |
| + "hue-rotate(0deg)"); |
| + |
| +testComputedFilterRule("No values", |
| + "hue-rotate()", |
| + "hue-rotate(0deg)"); |
| + |
| +testComputedFilterRule("Rule combinations", |
| + "hue-rotate(10deg) grayscale(0.25)", |
| + "hue-rotate(10deg) grayscale(0.25)"); |
| + |
| +testComputedFilterRule("Integer value", |
| + "invert(1)", |
| + "invert(1)"); |
| + |
| +testComputedFilterRule("Float value converts to integer", |
| + "invert(1.0)", |
| + "invert(1)"); |
| + |
| +testComputedFilterRule("Zero value", |
| + "invert(0)", |
| + "invert(0)"); |
| + |
| +testComputedFilterRule("No values", |
| + "invert()", |
| + "invert(1)"); |
| + |
| +testComputedFilterRule("Multiple values", |
| + "invert(0.5) invert(0.25)", |
| + "invert(0.5) invert(0.25)"); |
| + |
| +testComputedFilterRule("Rule combinations", |
| + "invert(0.5) grayscale(0.25)", |
| + "invert(0.5) grayscale(0.25)"); |
| + |
| +testComputedFilterRule("Integer value", |
| + "opacity(1)", |
| + "opacity(1)"); |
| + |
| +testComputedFilterRule("Float value converts to integer", |
| + "opacity(1.0)", |
| + "opacity(1)"); |
| + |
| +testComputedFilterRule("Zero value", |
| + "opacity(0)", |
| + "opacity(0)"); |
| + |
| +testComputedFilterRule("No values", |
| + "opacity()", |
| + "opacity(1)"); |
| + |
| +testComputedFilterRule("Multiple values", |
| + "opacity(0.5) opacity(0.25)", |
| + "opacity(0.5) opacity(0.25)"); |
| + |
| +testComputedFilterRule("Rule combinations", |
| + "opacity(0.5) grayscale(0.25)", |
| + "opacity(0.5) grayscale(0.25)"); |
| + |
| +testComputedFilterRule("Integer value", |
| + "brightness(1)", |
| + "brightness(1)"); |
| + |
| +testComputedFilterRule("Float value converts to integer", |
| + "brightness(1.0)", |
| + "brightness(1)"); |
| + |
| +testComputedFilterRule("Zero value", |
| + "brightness(0)", |
| + "brightness(0)"); |
| + |
| +testComputedFilterRule("No values", |
| + "brightness()", |
| + "brightness(0)"); |
| + |
| +testComputedFilterRule("Multiple values", |
| + "brightness(0.5) brightness(0.25)", |
| + "brightness(0.5) brightness(0.25)"); |
| + |
| +testComputedFilterRule("Rule combinations", |
| + "brightness(0.5) grayscale(0.25)", |
| + "brightness(0.5) grayscale(0.25)"); |
| + |
| +testComputedFilterRule("Integer value", |
| + "contrast(1)", |
| + "contrast(1)"); |
| + |
| +testComputedFilterRule("Value greater than 1", |
| + "contrast(2)", |
| + "contrast(2)"); |
| + |
| +testComputedFilterRule("Float value converts to integer", |
| + "contrast(1.0)", |
| + "contrast(1)"); |
| + |
| +testComputedFilterRule("Zero value", |
| + "contrast(0)", |
| + "contrast(0)"); |
| + |
| +testComputedFilterRule("No values", |
| + "contrast()", |
| + "contrast(1)"); |
| + |
| +testComputedFilterRule("Multiple values", |
| + "contrast(0.5) contrast(0.25)", |
| + "contrast(0.5) contrast(0.25)"); |
| + |
| +testComputedFilterRule("Rule combinations", |
| + "contrast(0.5) grayscale(0.25)", |
| + "contrast(0.5) grayscale(0.25)"); |
| + |
| +testComputedFilterRule("One zero to px", |
| + "blur(0)", |
| + "blur(0px)"); |
| + |
| +testComputedFilterRule("One length", |
| + "blur(2em)", |
| + "blur(32px)"); |
| + |
| +testComputedFilterRule("One length", |
| + "blur(5px)", |
| + "blur(5px)"); |
| + |
| +testComputedFilterRule("No values", |
| + "blur()", |
| + "blur(0px)"); |
| + |
| +testComputedFilterRule("Named color then three values", |
| + "drop-shadow(red 1px 2px 3px)", |
| + "drop-shadow(rgb(255, 0, 0) 1px 2px 3px)"); |
| + |
| +testComputedFilterRule("Three values then named color", |
| + "drop-shadow(1px 2px 3px red)", |
| + "drop-shadow(rgb(255, 0, 0) 1px 2px 3px)"); |
| + |
| +testComputedFilterRule("Color then three values with zero length", |
| + "drop-shadow(#abc 0 0 0)", |
| + "drop-shadow(rgb(170, 187, 204) 0px 0px 0px)"); |
| + |
| +testComputedFilterRule("Three values with zero length", |
| + "drop-shadow(0 0 0)", |
| + "drop-shadow(rgb(0, 0, 0) 0px 0px 0px)"); |
| + |
| +testComputedFilterRule("Two values no color", |
| + "drop-shadow(1px 2px)", |
| + "drop-shadow(rgb(0, 0, 0) 1px 2px 0px)"); |
| + |
| +testComputedFilterRule("Multiple operations", |
| + "grayscale(0.5) sepia(0.25) saturate(0.75) hue-rotate(35deg) invert(0.2) opacity(0.9) blur(5px)", |
| + [ "grayscale(0.5)", |
| + "sepia(0.25)", |
| + "saturate(0.75)", |
| + "hue-rotate(35deg)", |
| + "invert(0.2)", |
| + "opacity(0.9)", |
| + "blur(5px)" ].join(" ")); |
| + |
| +testComputedFilterRule("Percentage values", |
| + "grayscale(50%) sepia(25%) saturate(75%) invert(20%) opacity(90%) brightness(60%) contrast(30%)", |
| + [ "grayscale(0.5)", |
| + "sepia(0.25)", |
| + "saturate(0.75)", |
| + "invert(0.2)", |
| + "opacity(0.9)", |
| + "brightness(0.6)", |
| + "contrast(0.3)" ].join(" ")); |
| + |
| +successfullyParsed = true; |