testColorFilterParsing("contrast(-0.6)", "none", "Negative value for contrast() is invalid");
testColorFilterParsing("grayscale(-0.)", "none", "Negative value for grayscale() is invalid");
testColorFilterParsing("hue-rotate(-20deg)", "hue-rotate(-20deg)", "Negative value allowed for hue-rotate()");
testColorFilterParsing("invert(-0.6)", "none", "Negative value for invert() is invalid");
testColorFilterParsing("opacity(-0.5)", "none", "Negative value for opacity() is invalid");
testColorFilterParsing("saturate(-0.2)", "none", "Negative value for saturate() is invalid");
testColorFilterParsing("sepia(-0.5)", "none", "Negative value for sepia() is invalid");
// Values > 1 or 100%
testColorFilterParsing("brightness(2.4)", "brightness(2.4)", "brightness(): values of amount over 100% are allowed, providing brighter results");
testColorFilterParsing("contrast(3.6)", "contrast(3.6)", "contrast(): values of amount over 100% are allowed, providing results with more contrast");
testColorFilterParsing("grayscale(120%)", "grayscale(1)", "Values of amount over 100% are allowed but UAs must clamp the values to 1");
testColorFilterParsing("hue-rotate(740deg)", "hue-rotate(740deg)", "hue-rotate(): implementations must not normalize this value in order to allow animations beyond 360deg");
testColorFilterParsing("invert(2.3)", "invert(1)", "invert(): values of amount over 100% are allowed but UAs must clamp the values to 1");
testColorFilterParsing("opacity(12.5)", "opacity(1)", "opacity(): values of amount over 100% are allowed but UAs must clamp the values to 1");
testColorFilterParsing("saturate(200%)", "saturate(2)", "saturate(): values of amount over 100% are allowed, providing super-saturated results");
testColorFilterParsing("sepia(5.3)", "sepia(1)", "sepia(): values of amount over 100% are allowed but UAs must clamp the values to 1");