wpt / css / filter-effects / animation / filter-interpolation-003.html

Status: FAIL | Duration: 1096ms | Subtests: 165/304 | Open test on wpt.live | wpt.fyi

Data from commit:
a50cb89 wpt: run reference-named files which are themselves tests (#836) (2026-09-03)

SubtestStatusMessage
CSS Transitions: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)]PASS
CSS Transitions: property <filter> from [none] to [blur(10px)] at (0) should be [blur(0px)]PASS
CSS Transitions: property <filter> from [none] to [blur(10px)] at (0.5) should be [blur(5px)]PASS
CSS Transitions: property <filter> from [none] to [blur(10px)] at (1) should be [blur(10px)]PASS
CSS Transitions: property <filter> from [none] to [blur(10px)] at (1.5) should be [blur(15px)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (0) should be [blur(0px)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (0.5) should be [blur(5px)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (1) should be [blur(10px)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [blur(10px)] at (1.5) should be [blur(15px)]PASS
CSS Animations: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)]PASS
CSS Animations: property <filter> from [none] to [blur(10px)] at (0) should be [blur(0px)]PASS
CSS Animations: property <filter> from [none] to [blur(10px)] at (0.5) should be [blur(5px)]PASS
CSS Animations: property <filter> from [none] to [blur(10px)] at (1) should be [blur(10px)]PASS
CSS Animations: property <filter> from [none] to [blur(10px)] at (1.5) should be [blur(15px)]PASS
Web Animations: property <filter> from [none] to [blur(10px)] at (-1) should be [blur(0px)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [blur(10px)] at (0) should be [blur(0px)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [blur(10px)] at (0.5) should be [blur(5px)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [blur(10px)] at (1) should be [blur(10px)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [blur(10px)] at (1.5) should be [blur(15px)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [brightness(0)] to [none] at (-1) should be [brightness(0)]PASS
CSS Transitions: property <filter> from [brightness(0)] to [none] at (0) should be [brightness(0)]PASS
CSS Transitions: property <filter> from [brightness(0)] to [none] at (0.5) should be [brightness(0.5)]PASS
CSS Transitions: property <filter> from [brightness(0)] to [none] at (1) should be [brightness(1)]PASS
CSS Transitions: property <filter> from [brightness(0)] to [none] at (1.5) should be [brightness(1.5)]PASS
CSS Transitions with transition: all: property <filter> from [brightness(0)] to [none] at (-1) should be [brightness(0)]PASS
CSS Transitions with transition: all: property <filter> from [brightness(0)] to [none] at (0) should be [brightness(0)]PASS
CSS Transitions with transition: all: property <filter> from [brightness(0)] to [none] at (0.5) should be [brightness(0.5)]PASS
CSS Transitions with transition: all: property <filter> from [brightness(0)] to [none] at (1) should be [brightness(1)]PASS
CSS Transitions with transition: all: property <filter> from [brightness(0)] to [none] at (1.5) should be [brightness(1.5)]PASS
CSS Animations: property <filter> from [brightness(0)] to [none] at (-1) should be [brightness(0)]PASS
CSS Animations: property <filter> from [brightness(0)] to [none] at (0) should be [brightness(0)]PASS
CSS Animations: property <filter> from [brightness(0)] to [none] at (0.5) should be [brightness(0.5)]PASS
CSS Animations: property <filter> from [brightness(0)] to [none] at (1) should be [brightness(1)]PASS
CSS Animations: property <filter> from [brightness(0)] to [none] at (1.5) should be [brightness(1.5)]PASS
Web Animations: property <filter> from [brightness(0)] to [none] at (-1) should be [brightness(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [brightness(0)] to [none] at (0) should be [brightness(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [brightness(0)] to [none] at (0.5) should be [brightness(0.5)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [brightness(0)] to [none] at (1) should be [brightness(1)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [brightness(0)] to [none] at (1.5) should be [brightness(1.5)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [contrast(0)] to [none] at (-1) should be [contrast(0)]PASS
CSS Transitions: property <filter> from [contrast(0)] to [none] at (0) should be [contrast(0)]PASS
CSS Transitions: property <filter> from [contrast(0)] to [none] at (0.5) should be [contrast(0.5)]PASS
CSS Transitions: property <filter> from [contrast(0)] to [none] at (1) should be [contrast(1)]PASS
CSS Transitions: property <filter> from [contrast(0)] to [none] at (1.5) should be [contrast(1.5)]PASS
CSS Transitions with transition: all: property <filter> from [contrast(0)] to [none] at (-1) should be [contrast(0)]PASS
CSS Transitions with transition: all: property <filter> from [contrast(0)] to [none] at (0) should be [contrast(0)]PASS
CSS Transitions with transition: all: property <filter> from [contrast(0)] to [none] at (0.5) should be [contrast(0.5)]PASS
CSS Transitions with transition: all: property <filter> from [contrast(0)] to [none] at (1) should be [contrast(1)]PASS
CSS Transitions with transition: all: property <filter> from [contrast(0)] to [none] at (1.5) should be [contrast(1.5)]PASS
CSS Animations: property <filter> from [contrast(0)] to [none] at (-1) should be [contrast(0)]PASS
CSS Animations: property <filter> from [contrast(0)] to [none] at (0) should be [contrast(0)]PASS
CSS Animations: property <filter> from [contrast(0)] to [none] at (0.5) should be [contrast(0.5)]PASS
CSS Animations: property <filter> from [contrast(0)] to [none] at (1) should be [contrast(1)]PASS
CSS Animations: property <filter> from [contrast(0)] to [none] at (1.5) should be [contrast(1.5)]PASS
Web Animations: property <filter> from [contrast(0)] to [none] at (-1) should be [contrast(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [contrast(0)] to [none] at (0) should be [contrast(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [contrast(0)] to [none] at (0.5) should be [contrast(0.5)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [contrast(0)] to [none] at (1) should be [contrast(1)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [contrast(0)] to [none] at (1.5) should be [contrast(1.5)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [none] to [drop-shadow(20px 10px green)] at (-1) should be [drop-shadow(-20px -10px transparent)]PASS
CSS Transitions: property <filter> from [none] to [drop-shadow(20px 10px green)] at (0) should be [drop-shadow(0px 0px 0px transparent)]PASS
CSS Transitions: property <filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) should be [drop-shadow(10px 5px rgba(0, 128, 0, 0.5))]PASS
CSS Transitions: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1) should be [drop-shadow(20px 10px green)]PASS
CSS Transitions: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) should be [drop-shadow(30px 15px #00C000)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [drop-shadow(20px 10px green)] at (-1) should be [drop-shadow(-20px -10px transparent)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [drop-shadow(20px 10px green)] at (0) should be [drop-shadow(0px 0px 0px transparent)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) should be [drop-shadow(10px 5px rgba(0, 128, 0, 0.5))]PASS
CSS Transitions with transition: all: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1) should be [drop-shadow(20px 10px green)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) should be [drop-shadow(30px 15px #00C000)]PASS
CSS Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (-1) should be [drop-shadow(-20px -10px transparent)]PASS
CSS Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (0) should be [drop-shadow(0px 0px 0px transparent)]PASS
CSS Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) should be [drop-shadow(10px 5px rgba(0, 128, 0, 0.5))]PASS
CSS Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1) should be [drop-shadow(20px 10px green)]PASS
CSS Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) should be [drop-shadow(30px 15px #00C000)]PASS
Web Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (-1) should be [drop-shadow(-20px -10px transparent)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (0) should be [drop-shadow(0px 0px 0px transparent)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (0.5) should be [drop-shadow(10px 5px rgba(0, 128, 0, 0.5))]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1) should be [drop-shadow(20px 10px green)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [drop-shadow(20px 10px green)] at (1.5) should be [drop-shadow(30px 15px #00C000)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)]PASS
CSS Transitions: property <filter> from [none] to [grayscale(1)] at (0) should be [grayscale(0)]PASS
CSS Transitions: property <filter> from [none] to [grayscale(1)] at (0.5) should be [grayscale(0.5)]PASS
CSS Transitions: property <filter> from [none] to [grayscale(1)] at (1) should be [grayscale(1)]PASS
CSS Transitions: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (0) should be [grayscale(0)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (0.5) should be [grayscale(0.5)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (1) should be [grayscale(1)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)]PASS
CSS Animations: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)]PASS
CSS Animations: property <filter> from [none] to [grayscale(1)] at (0) should be [grayscale(0)]PASS
CSS Animations: property <filter> from [none] to [grayscale(1)] at (0.5) should be [grayscale(0.5)]PASS
CSS Animations: property <filter> from [none] to [grayscale(1)] at (1) should be [grayscale(1)]PASS
CSS Animations: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)]PASS
Web Animations: property <filter> from [none] to [grayscale(1)] at (-1) should be [grayscale(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [grayscale(1)] at (0) should be [grayscale(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [grayscale(1)] at (0.5) should be [grayscale(0.5)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [grayscale(1)] at (1) should be [grayscale(1)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [grayscale(1)] at (1.5) should be [grayscale(1)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [none] to [hue-rotate(360deg)] at (-1) should be [hue-rotate(-360deg)]PASS
CSS Transitions: property <filter> from [none] to [hue-rotate(360deg)] at (0) should be [hue-rotate(0deg)]PASS
CSS Transitions: property <filter> from [none] to [hue-rotate(360deg)] at (0.5) should be [hue-rotate(180deg)]PASS
CSS Transitions: property <filter> from [none] to [hue-rotate(360deg)] at (1) should be [hue-rotate(360deg)]PASS
CSS Transitions: property <filter> from [none] to [hue-rotate(360deg)] at (1.5) should be [hue-rotate(540deg)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [hue-rotate(360deg)] at (-1) should be [hue-rotate(-360deg)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [hue-rotate(360deg)] at (0) should be [hue-rotate(0deg)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [hue-rotate(360deg)] at (0.5) should be [hue-rotate(180deg)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [hue-rotate(360deg)] at (1) should be [hue-rotate(360deg)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [hue-rotate(360deg)] at (1.5) should be [hue-rotate(540deg)]PASS
CSS Animations: property <filter> from [none] to [hue-rotate(360deg)] at (-1) should be [hue-rotate(-360deg)]PASS
CSS Animations: property <filter> from [none] to [hue-rotate(360deg)] at (0) should be [hue-rotate(0deg)]PASS
CSS Animations: property <filter> from [none] to [hue-rotate(360deg)] at (0.5) should be [hue-rotate(180deg)]PASS
CSS Animations: property <filter> from [none] to [hue-rotate(360deg)] at (1) should be [hue-rotate(360deg)]PASS
CSS Animations: property <filter> from [none] to [hue-rotate(360deg)] at (1.5) should be [hue-rotate(540deg)]PASS
Web Animations: property <filter> from [none] to [hue-rotate(360deg)] at (-1) should be [hue-rotate(-360deg)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [hue-rotate(360deg)] at (0) should be [hue-rotate(0deg)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [hue-rotate(360deg)] at (0.5) should be [hue-rotate(180deg)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [hue-rotate(360deg)] at (1) should be [hue-rotate(360deg)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [hue-rotate(360deg)] at (1.5) should be [hue-rotate(540deg)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)]PASS
CSS Transitions: property <filter> from [none] to [invert(1)] at (0) should be [invert(0)]PASS
CSS Transitions: property <filter> from [none] to [invert(1)] at (0.5) should be [invert(0.5)]PASS
CSS Transitions: property <filter> from [none] to [invert(1)] at (1) should be [invert(1)]PASS
CSS Transitions: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (0) should be [invert(0)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (0.5) should be [invert(0.5)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (1) should be [invert(1)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)]PASS
CSS Animations: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)]PASS
CSS Animations: property <filter> from [none] to [invert(1)] at (0) should be [invert(0)]PASS
CSS Animations: property <filter> from [none] to [invert(1)] at (0.5) should be [invert(0.5)]PASS
CSS Animations: property <filter> from [none] to [invert(1)] at (1) should be [invert(1)]PASS
CSS Animations: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)]PASS
Web Animations: property <filter> from [none] to [invert(1)] at (-1) should be [invert(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [invert(1)] at (0) should be [invert(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [invert(1)] at (0.5) should be [invert(0.5)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [invert(1)] at (1) should be [invert(1)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [invert(1)] at (1.5) should be [invert(1)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [opacity(0)] to [none] at (-1) should be [opacity(0)]PASS
CSS Transitions: property <filter> from [opacity(0)] to [none] at (0) should be [opacity(0)]PASS
CSS Transitions: property <filter> from [opacity(0)] to [none] at (0.5) should be [opacity(0.5)]PASS
CSS Transitions: property <filter> from [opacity(0)] to [none] at (1) should be [opacity(1)]PASS
CSS Transitions: property <filter> from [opacity(0)] to [none] at (1.5) should be [opacity(1)]PASS
CSS Transitions with transition: all: property <filter> from [opacity(0)] to [none] at (-1) should be [opacity(0)]PASS
CSS Transitions with transition: all: property <filter> from [opacity(0)] to [none] at (0) should be [opacity(0)]PASS
CSS Transitions with transition: all: property <filter> from [opacity(0)] to [none] at (0.5) should be [opacity(0.5)]PASS
CSS Transitions with transition: all: property <filter> from [opacity(0)] to [none] at (1) should be [opacity(1)]PASS
CSS Transitions with transition: all: property <filter> from [opacity(0)] to [none] at (1.5) should be [opacity(1)]PASS
CSS Animations: property <filter> from [opacity(0)] to [none] at (-1) should be [opacity(0)]PASS
CSS Animations: property <filter> from [opacity(0)] to [none] at (0) should be [opacity(0)]PASS
CSS Animations: property <filter> from [opacity(0)] to [none] at (0.5) should be [opacity(0.5)]PASS
CSS Animations: property <filter> from [opacity(0)] to [none] at (1) should be [opacity(1)]PASS
CSS Animations: property <filter> from [opacity(0)] to [none] at (1.5) should be [opacity(1)]PASS
Web Animations: property <filter> from [opacity(0)] to [none] at (-1) should be [opacity(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [opacity(0)] to [none] at (0) should be [opacity(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [opacity(0)] to [none] at (0.5) should be [opacity(0.5)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [opacity(0)] to [none] at (1) should be [opacity(1)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [opacity(0)] to [none] at (1.5) should be [opacity(1)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [saturate(0)] to [none] at (-1) should be [saturate(0)]PASS
CSS Transitions: property <filter> from [saturate(0)] to [none] at (0) should be [saturate(0)]PASS
CSS Transitions: property <filter> from [saturate(0)] to [none] at (0.5) should be [saturate(0.5)]PASS
CSS Transitions: property <filter> from [saturate(0)] to [none] at (1) should be [saturate(1)]PASS
CSS Transitions: property <filter> from [saturate(0)] to [none] at (1.5) should be [saturate(1.5)]PASS
CSS Transitions with transition: all: property <filter> from [saturate(0)] to [none] at (-1) should be [saturate(0)]PASS
CSS Transitions with transition: all: property <filter> from [saturate(0)] to [none] at (0) should be [saturate(0)]PASS
CSS Transitions with transition: all: property <filter> from [saturate(0)] to [none] at (0.5) should be [saturate(0.5)]PASS
CSS Transitions with transition: all: property <filter> from [saturate(0)] to [none] at (1) should be [saturate(1)]PASS
CSS Transitions with transition: all: property <filter> from [saturate(0)] to [none] at (1.5) should be [saturate(1.5)]PASS
CSS Animations: property <filter> from [saturate(0)] to [none] at (-1) should be [saturate(0)]PASS
CSS Animations: property <filter> from [saturate(0)] to [none] at (0) should be [saturate(0)]PASS
CSS Animations: property <filter> from [saturate(0)] to [none] at (0.5) should be [saturate(0.5)]PASS
CSS Animations: property <filter> from [saturate(0)] to [none] at (1) should be [saturate(1)]PASS
CSS Animations: property <filter> from [saturate(0)] to [none] at (1.5) should be [saturate(1.5)]PASS
Web Animations: property <filter> from [saturate(0)] to [none] at (-1) should be [saturate(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [saturate(0)] to [none] at (0) should be [saturate(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [saturate(0)] to [none] at (0.5) should be [saturate(0.5)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [saturate(0)] to [none] at (1) should be [saturate(1)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [saturate(0)] to [none] at (1.5) should be [saturate(1.5)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)]PASS
CSS Transitions: property <filter> from [none] to [sepia(1)] at (0) should be [sepia(0)]PASS
CSS Transitions: property <filter> from [none] to [sepia(1)] at (0.5) should be [sepia(0.5)]PASS
CSS Transitions: property <filter> from [none] to [sepia(1)] at (1) should be [sepia(1)]PASS
CSS Transitions: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (0) should be [sepia(0)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (0.5) should be [sepia(0.5)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (1) should be [sepia(1)]PASS
CSS Transitions with transition: all: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)]PASS
CSS Animations: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)]PASS
CSS Animations: property <filter> from [none] to [sepia(1)] at (0) should be [sepia(0)]PASS
CSS Animations: property <filter> from [none] to [sepia(1)] at (0.5) should be [sepia(0.5)]PASS
CSS Animations: property <filter> from [none] to [sepia(1)] at (1) should be [sepia(1)]PASS
CSS Animations: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)]PASS
Web Animations: property <filter> from [none] to [sepia(1)] at (-1) should be [sepia(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [sepia(1)] at (0) should be [sepia(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [sepia(1)] at (0.5) should be [sepia(0.5)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [sepia(1)] at (1) should be [sepia(1)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [none] to [sepia(1)] at (1.5) should be [sepia(1)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (-0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (0) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (0.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (0.6) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (1) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (1.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (-0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (0) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (0.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (0.6) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (1) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [none] at (1.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [none] at (-0.3) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [none] at (0) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [none] at (0.3) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [none] at (0.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [none] at (0.6) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [none] at (1) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [none] at (1.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [none] at (-0.3) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [none] at (0) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [none] at (0.3) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [none] at (0.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [none] at (0.6) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [none] at (1) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [none] at (1.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [none] at (-0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [none] at (0) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [none] at (0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [none] at (0.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [none] at (0.6) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [none] at (1) should be [none]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [none] at (1.5) should be [none]FAILassert_true: 'from' value should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [none] at (-0.3) should be [url("#svgfilter")]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [none] at (0) should be [url("#svgfilter")]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [none] at (0.3) should be [url("#svgfilter")]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [none] at (0.5) should be [none]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [none] at (0.6) should be [none]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [none] at (1) should be [none]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [none] at (1.5) should be [none]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (-0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.6) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-behavior:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (-0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.6) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [blur(5px)] at (-0.3) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.3) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.6) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [blur(5px)] at (-0.3) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.3) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.6) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Transitions with transition: all: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (-0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.3) should be [url("#svgfilter")]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.6) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
CSS Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1.5) should be [blur(5px)]FAILassert_true: 'from' value should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (-0.3) should be [url("#svgfilter")]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0) should be [url("#svgfilter")]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.3) should be [url("#svgfilter")]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.5) should be [blur(5px)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (0.6) should be [blur(5px)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1) should be [blur(5px)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [url("#svgfilter")] to [blur(5px)] at (1.5) should be [blur(5px)]FAILassert_true: Web Animations should be supported expected true got false
CSS Transitions: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)]PASS
CSS Transitions: property <filter> from [initial] to [sepia(1)] at (0) should be [sepia(0)]PASS
CSS Transitions: property <filter> from [initial] to [sepia(1)] at (0.5) should be [sepia(0.5)]PASS
CSS Transitions: property <filter> from [initial] to [sepia(1)] at (1) should be [sepia(1)]PASS
CSS Transitions: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)]PASS
CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)]PASS
CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (0) should be [sepia(0)]PASS
CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (0.5) should be [sepia(0.5)]PASS
CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (1) should be [sepia(1)]PASS
CSS Transitions with transition: all: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)]PASS
CSS Animations: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)]PASS
CSS Animations: property <filter> from [initial] to [sepia(1)] at (0) should be [sepia(0)]PASS
CSS Animations: property <filter> from [initial] to [sepia(1)] at (0.5) should be [sepia(0.5)]PASS
CSS Animations: property <filter> from [initial] to [sepia(1)] at (1) should be [sepia(1)]PASS
CSS Animations: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)]PASS
Web Animations: property <filter> from [initial] to [sepia(1)] at (-1) should be [sepia(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [initial] to [sepia(1)] at (0) should be [sepia(0)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [initial] to [sepia(1)] at (0.5) should be [sepia(0.5)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [initial] to [sepia(1)] at (1) should be [sepia(1)]FAILassert_true: Web Animations should be supported expected true got false
Web Animations: property <filter> from [initial] to [sepia(1)] at (1.5) should be [sepia(1)]FAILassert_true: Web Animations should be supported expected true got false

/css/filter-effects/animation/filter-interpolation-003.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>filter interpolation</title>
    <link rel="help" href="https://drafts.fxtf.org/filter-effects/#FilterProperty">
    <meta name="assert" content="lacuna matches spec.">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/css/support/interpolation-testcommon.js"></script>
    <style>
      .target {
        display: inline-block;
        width: 50px;
        height: 50px;
        background-color: green;
        color: white;
        margin-right: 2px;
        filter: hue-rotate(10deg);
      }
      .expected {
        margin-right: 20px;
      }
      .test {
        padding-bottom: 10px;
      }
    </style>
  </head>
  <body>
    <script>
      'use strict';

      test_interpolation({
        property: 'filter',
        from: 'none', // lacuna is 0px
        to: 'blur(10px)'
      }, [
        {at: -1, expect: 'blur(0px)'}, // Negative values are not allowed.
        {at: 0, expect: 'blur(0px)'},
        {at: 0.5, expect: 'blur(5px)'},
        {at: 1, expect: 'blur(10px)'},
        {at: 1.5, expect: 'blur(15px)'}
      ]);

      test_interpolation({
        property: 'filter',
        from: 'brightness(0)',
        to: 'none' // lacuna is 1
      }, [
        {at: -1, expect: 'brightness(0)'}, // Negative values are not allowed.
        {at: 0, expect: 'brightness(0)'},
        {at: 0.5, expect: 'brightness(0.5)'},
        {at: 1, expect: 'brightness(1)'},
        {at: 1.5, expect: 'brightness(1.5)'}
      ]);

      test_interpolation({
        property: 'filter',
        from: 'contrast(0)',
        to: 'none' // lacuna is 1
      }, [
        {at: -1, expect: 'contrast(0)'}, // Negative values are not allowed.
        {at: 0, expect: 'contrast(0)'},
        {at: 0.5, expect: 'contrast(0.5)'},
        {at: 1, expect: 'contrast(1)'},
        {at: 1.5, expect: 'contrast(1.5)'}
      ]);

      test_interpolation({
        property: 'filter',
        from: 'none', // lacuna is drop-shadow(0px 0px 0px transparent)
        to: 'drop-shadow(20px 10px green)'
      }, [
        {at: -1, expect: 'drop-shadow(-20px -10px transparent)'},
        {at: 0, expect: 'drop-shadow(0px 0px 0px transparent)'},
        {at: 0.5, expect: 'drop-shadow(10px 5px rgba(0, 128, 0, 0.5))'},
        {at: 1, expect: 'drop-shadow(20px 10px green)'},
        {at: 1.5, expect: 'drop-shadow(30px 15px #00C000)'}
      ]);

      test_interpolation({
        property: 'filter',
        from: 'none', // lacuna is 0
        to: 'grayscale(1)'
      }, [
        {at: -1, expect: 'grayscale(0)'}, // Negative values are not allowed.
        {at: 0, expect: 'grayscale(0)'},
        {at: 0.5, expect: 'grayscale(0.5)'},
        {at: 1, expect: 'grayscale(1)'},
        {at: 1.5, expect: 'grayscale(1)'} // Should clamp values to 1.
      ]);

      test_interpolation({
        property: 'filter',
        from: 'none', // lacuna is 0deg
        to: 'hue-rotate(360deg)'
      }, [
        {at: -1, expect: 'hue-rotate(-360deg)'},
        {at: 0, expect: 'hue-rotate(0deg)'},
        {at: 0.5, expect: 'hue-rotate(180deg)'},
        {at: 1, expect: 'hue-rotate(360deg)'},
        {at: 1.5, expect: 'hue-rotate(540deg)'}
      ]);

      test_interpolation({
        property: 'filter',
        from: 'none', // lacuna is 0
        to: 'invert(1)'
      }, [
        {at: -1, expect: 'invert(0)'}, // Negative values are not allowed.
        {at: 0, expect: 'invert(0)'},
        {at: 0.5, expect: 'invert(0.5)'},
        {at: 1, expect: 'invert(1)'},
        {at: 1.5, expect: 'invert(1)'} // Should clamp values to 1.
      ]);

      test_interpolation({
        property: 'filter',
        from: 'opacity(0)',
        to: 'none' // lacuna is 1
      }, [
        {at: -1, expect: 'opacity(0)'}, // Negative values are not allowed.
        {at: 0, expect: 'opacity(0)'},
        {at: 0.5, expect: 'opacity(0.5)'},
        {at: 1, expect: 'opacity(1)'},
        {at: 1.5, expect: 'opacity(1)'} // Should clamp values to 1.
      ]);

      test_interpolation({
        property: 'filter',
        from: 'saturate(0)',
        to: 'none' // lacuna is 1
      }, [
        {at: -1, expect: 'saturate(0)'}, // Negative values are not allowed.
        {at: 0, expect: 'saturate(0)'},
        {at: 0.5, expect: 'saturate(0.5)'},
        {at: 1, expect: 'saturate(1)'},
        {at: 1.5, expect: 'saturate(1.5)'}
      ]);

      test_interpolation({
        property: 'filter',
        from: 'none', // lacuna is 0
        to: 'sepia(1)'
      }, [
        {at: -1, expect: 'sepia(0)'}, // Negative values are not allowed.
        {at: 0, expect: 'sepia(0)'},
        {at: 0.5, expect: 'sepia(0.5)'},
        {at: 1, expect: 'sepia(1)'},
        {at: 1.5, expect: 'sepia(1)'} // Should clamp values to 1.
      ]);

      test_no_interpolation({
        property: 'filter',
        from: 'url("#svgfilter")',
        to: 'none', // lacuna is not defined
      });

      test_no_interpolation({
        property: 'filter',
        from: 'url("#svgfilter")',
        to: 'blur(5px)',
      });

      test_interpolation({
        property: 'filter',
        from: 'initial', // lacuna is 0
        to: 'sepia(1)'
      }, [
        {at: -1, expect: 'sepia(0)'}, // Negative values are not allowed.
        {at: 0, expect: 'sepia(0)'}, // Equivalent to sepia(0)
        {at: 0.5, expect: 'sepia(0.5)'},
        {at: 1, expect: 'sepia(1)'},
        {at: 1.5, expect: 'sepia(1)'} // Should clamp values to 1.
      ]);
    </script>
  </body>
</html>