| 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.");
|
| +
|
| +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;
|
|
|