From c72d5943e62b1493bfc863f57dd96bdf9acf57a6 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Wed, 30 Apr 2025 09:57:56 +0100 Subject: [PATCH] LibWeb: Support interpolating `translate` values --- Libraries/LibWeb/CSS/Interpolation.cpp | 39 ++ .../animation/translate-interpolation.txt | 492 +++++++++--------- 2 files changed, 285 insertions(+), 246 deletions(-) diff --git a/Libraries/LibWeb/CSS/Interpolation.cpp b/Libraries/LibWeb/CSS/Interpolation.cpp index d2751d12640..27b5c2c3dfb 100644 --- a/Libraries/LibWeb/CSS/Interpolation.cpp +++ b/Libraries/LibWeb/CSS/Interpolation.cpp @@ -94,6 +94,42 @@ static RefPtr interpolate_scale(DOM::Element& element, Calc move(new_values)); } +static RefPtr interpolate_translate(DOM::Element& element, CalculationContext calculation_context, CSSStyleValue const& a_from, CSSStyleValue const& a_to, float delta) +{ + if (a_from.to_keyword() == Keyword::None && a_to.to_keyword() == Keyword::None) + return a_from; + + static auto zero_px = LengthStyleValue::create(Length::make_px(0)); + static auto zero = TransformationStyleValue::create(PropertyID::Translate, TransformFunction::Translate, { zero_px, zero_px }); + + auto const& from = a_from.to_keyword() == Keyword::None ? *zero : a_from; + auto const& to = a_to.to_keyword() == Keyword::None ? *zero : a_to; + + auto const& from_transform = from.as_transformation(); + auto const& to_transform = to.as_transformation(); + + auto interpolated_x = interpolate_value(element, calculation_context, from_transform.values()[0], to_transform.values()[0], delta); + auto interpolated_y = interpolate_value(element, calculation_context, from_transform.values()[1], to_transform.values()[1], delta); + + RefPtr interpolated_z; + + if (from_transform.values().size() == 3 || to_transform.values().size() == 3) { + auto from_z = from_transform.values().size() == 3 ? from_transform.values()[2] : zero_px; + auto to_z = to_transform.values().size() == 3 ? to_transform.values()[2] : zero_px; + interpolated_z = interpolate_value(element, calculation_context, from_z, to_z, delta); + } + + StyleValueVector new_values = { interpolated_x, interpolated_y }; + if (interpolated_z && interpolated_z->is_length() && !interpolated_z->as_length().equals(zero_px)) { + new_values.append(*interpolated_z); + } + + return TransformationStyleValue::create( + PropertyID::Translate, + new_values.size() == 3 ? TransformFunction::Translate3d : TransformFunction::Translate, + move(new_values)); +} + ValueComparingRefPtr interpolate_property(DOM::Element& element, PropertyID property_id, CSSStyleValue const& a_from, CSSStyleValue const& a_to, float delta) { auto from = with_keyword_values_resolved(element, property_id, a_from); @@ -128,6 +164,9 @@ ValueComparingRefPtr interpolate_property(DOM::Element& ele if (property_id == PropertyID::Scale) return interpolate_scale(element, calculation_context, from, to, delta); + if (property_id == PropertyID::Translate) + return interpolate_translate(element, calculation_context, from, to, delta); + // FIXME: Handle all custom animatable properties [[fallthrough]]; } diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-transforms/animation/translate-interpolation.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-transforms/animation/translate-interpolation.txt index f4c5b27dfd9..dc9805337e2 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/css-transforms/animation/translate-interpolation.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-transforms/animation/translate-interpolation.txt @@ -2,175 +2,175 @@ Harness status: OK Found 408 tests -122 Pass -286 Fail -Fail CSS Transitions: property from [-100px] to [100px] at (-1) should be [-300px] +350 Pass +58 Fail +Pass CSS Transitions: property from [-100px] to [100px] at (-1) should be [-300px] Pass CSS Transitions: property from [-100px] to [100px] at (0) should be [-100px] -Fail CSS Transitions: property from [-100px] to [100px] at (0.25) should be [-50px] -Fail CSS Transitions: property from [-100px] to [100px] at (0.75) should be [50px] +Pass CSS Transitions: property from [-100px] to [100px] at (0.25) should be [-50px] +Pass CSS Transitions: property from [-100px] to [100px] at (0.75) should be [50px] Pass CSS Transitions: property from [-100px] to [100px] at (1) should be [100px] -Fail CSS Transitions: property from [-100px] to [100px] at (2) should be [300px] -Fail CSS Transitions with transition: all: property from [-100px] to [100px] at (-1) should be [-300px] +Pass CSS Transitions: property from [-100px] to [100px] at (2) should be [300px] +Pass CSS Transitions with transition: all: property from [-100px] to [100px] at (-1) should be [-300px] Pass CSS Transitions with transition: all: property from [-100px] to [100px] at (0) should be [-100px] -Fail CSS Transitions with transition: all: property from [-100px] to [100px] at (0.25) should be [-50px] -Fail CSS Transitions with transition: all: property from [-100px] to [100px] at (0.75) should be [50px] +Pass CSS Transitions with transition: all: property from [-100px] to [100px] at (0.25) should be [-50px] +Pass CSS Transitions with transition: all: property from [-100px] to [100px] at (0.75) should be [50px] Pass CSS Transitions with transition: all: property from [-100px] to [100px] at (1) should be [100px] -Fail CSS Transitions with transition: all: property from [-100px] to [100px] at (2) should be [300px] -Fail CSS Animations: property from [-100px] to [100px] at (-1) should be [-300px] +Pass CSS Transitions with transition: all: property from [-100px] to [100px] at (2) should be [300px] +Pass CSS Animations: property from [-100px] to [100px] at (-1) should be [-300px] Pass CSS Animations: property from [-100px] to [100px] at (0) should be [-100px] -Fail CSS Animations: property from [-100px] to [100px] at (0.25) should be [-50px] -Fail CSS Animations: property from [-100px] to [100px] at (0.75) should be [50px] +Pass CSS Animations: property from [-100px] to [100px] at (0.25) should be [-50px] +Pass CSS Animations: property from [-100px] to [100px] at (0.75) should be [50px] Pass CSS Animations: property from [-100px] to [100px] at (1) should be [100px] -Fail CSS Animations: property from [-100px] to [100px] at (2) should be [300px] -Fail Web Animations: property from [-100px] to [100px] at (-1) should be [-300px] +Pass CSS Animations: property from [-100px] to [100px] at (2) should be [300px] +Pass Web Animations: property from [-100px] to [100px] at (-1) should be [-300px] Pass Web Animations: property from [-100px] to [100px] at (0) should be [-100px] -Fail Web Animations: property from [-100px] to [100px] at (0.25) should be [-50px] -Fail Web Animations: property from [-100px] to [100px] at (0.75) should be [50px] +Pass Web Animations: property from [-100px] to [100px] at (0.25) should be [-50px] +Pass Web Animations: property from [-100px] to [100px] at (0.75) should be [50px] Pass Web Animations: property from [-100px] to [100px] at (1) should be [100px] -Fail Web Animations: property from [-100px] to [100px] at (2) should be [300px] -Fail CSS Transitions: property from [-100%] to [100%] at (-1) should be [-300%] +Pass Web Animations: property from [-100px] to [100px] at (2) should be [300px] +Pass CSS Transitions: property from [-100%] to [100%] at (-1) should be [-300%] Pass CSS Transitions: property from [-100%] to [100%] at (0) should be [-100%] -Fail CSS Transitions: property from [-100%] to [100%] at (0.25) should be [-50%] -Fail CSS Transitions: property from [-100%] to [100%] at (0.75) should be [50%] +Pass CSS Transitions: property from [-100%] to [100%] at (0.25) should be [-50%] +Pass CSS Transitions: property from [-100%] to [100%] at (0.75) should be [50%] Pass CSS Transitions: property from [-100%] to [100%] at (1) should be [100%] -Fail CSS Transitions: property from [-100%] to [100%] at (2) should be [300%] -Fail CSS Transitions with transition: all: property from [-100%] to [100%] at (-1) should be [-300%] +Pass CSS Transitions: property from [-100%] to [100%] at (2) should be [300%] +Pass CSS Transitions with transition: all: property from [-100%] to [100%] at (-1) should be [-300%] Pass CSS Transitions with transition: all: property from [-100%] to [100%] at (0) should be [-100%] -Fail CSS Transitions with transition: all: property from [-100%] to [100%] at (0.25) should be [-50%] -Fail CSS Transitions with transition: all: property from [-100%] to [100%] at (0.75) should be [50%] +Pass CSS Transitions with transition: all: property from [-100%] to [100%] at (0.25) should be [-50%] +Pass CSS Transitions with transition: all: property from [-100%] to [100%] at (0.75) should be [50%] Pass CSS Transitions with transition: all: property from [-100%] to [100%] at (1) should be [100%] -Fail CSS Transitions with transition: all: property from [-100%] to [100%] at (2) should be [300%] -Fail CSS Animations: property from [-100%] to [100%] at (-1) should be [-300%] +Pass CSS Transitions with transition: all: property from [-100%] to [100%] at (2) should be [300%] +Pass CSS Animations: property from [-100%] to [100%] at (-1) should be [-300%] Pass CSS Animations: property from [-100%] to [100%] at (0) should be [-100%] -Fail CSS Animations: property from [-100%] to [100%] at (0.25) should be [-50%] -Fail CSS Animations: property from [-100%] to [100%] at (0.75) should be [50%] +Pass CSS Animations: property from [-100%] to [100%] at (0.25) should be [-50%] +Pass CSS Animations: property from [-100%] to [100%] at (0.75) should be [50%] Pass CSS Animations: property from [-100%] to [100%] at (1) should be [100%] -Fail CSS Animations: property from [-100%] to [100%] at (2) should be [300%] -Fail Web Animations: property from [-100%] to [100%] at (-1) should be [-300%] +Pass CSS Animations: property from [-100%] to [100%] at (2) should be [300%] +Pass Web Animations: property from [-100%] to [100%] at (-1) should be [-300%] Pass Web Animations: property from [-100%] to [100%] at (0) should be [-100%] -Fail Web Animations: property from [-100%] to [100%] at (0.25) should be [-50%] -Fail Web Animations: property from [-100%] to [100%] at (0.75) should be [50%] +Pass Web Animations: property from [-100%] to [100%] at (0.25) should be [-50%] +Pass Web Animations: property from [-100%] to [100%] at (0.75) should be [50%] Pass Web Animations: property from [-100%] to [100%] at (1) should be [100%] -Fail Web Animations: property from [-100%] to [100%] at (2) should be [300%] -Fail CSS Transitions: property from [-100px -50px] to [100px 50px] at (-1) should be [-300px -150px] +Pass Web Animations: property from [-100%] to [100%] at (2) should be [300%] +Pass CSS Transitions: property from [-100px -50px] to [100px 50px] at (-1) should be [-300px -150px] Pass CSS Transitions: property from [-100px -50px] to [100px 50px] at (0) should be [-100px -50px] -Fail CSS Transitions: property from [-100px -50px] to [100px 50px] at (0.25) should be [-50px -25px] -Fail CSS Transitions: property from [-100px -50px] to [100px 50px] at (0.75) should be [50px 25px] +Pass CSS Transitions: property from [-100px -50px] to [100px 50px] at (0.25) should be [-50px -25px] +Pass CSS Transitions: property from [-100px -50px] to [100px 50px] at (0.75) should be [50px 25px] Pass CSS Transitions: property from [-100px -50px] to [100px 50px] at (1) should be [100px 50px] -Fail CSS Transitions: property from [-100px -50px] to [100px 50px] at (2) should be [300px 150px] -Fail CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (-1) should be [-300px -150px] +Pass CSS Transitions: property from [-100px -50px] to [100px 50px] at (2) should be [300px 150px] +Pass CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (-1) should be [-300px -150px] Pass CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (0) should be [-100px -50px] -Fail CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (0.25) should be [-50px -25px] -Fail CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (0.75) should be [50px 25px] +Pass CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (0.25) should be [-50px -25px] +Pass CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (0.75) should be [50px 25px] Pass CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (1) should be [100px 50px] -Fail CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (2) should be [300px 150px] -Fail CSS Animations: property from [-100px -50px] to [100px 50px] at (-1) should be [-300px -150px] +Pass CSS Transitions with transition: all: property from [-100px -50px] to [100px 50px] at (2) should be [300px 150px] +Pass CSS Animations: property from [-100px -50px] to [100px 50px] at (-1) should be [-300px -150px] Pass CSS Animations: property from [-100px -50px] to [100px 50px] at (0) should be [-100px -50px] -Fail CSS Animations: property from [-100px -50px] to [100px 50px] at (0.25) should be [-50px -25px] -Fail CSS Animations: property from [-100px -50px] to [100px 50px] at (0.75) should be [50px 25px] +Pass CSS Animations: property from [-100px -50px] to [100px 50px] at (0.25) should be [-50px -25px] +Pass CSS Animations: property from [-100px -50px] to [100px 50px] at (0.75) should be [50px 25px] Pass CSS Animations: property from [-100px -50px] to [100px 50px] at (1) should be [100px 50px] -Fail CSS Animations: property from [-100px -50px] to [100px 50px] at (2) should be [300px 150px] -Fail Web Animations: property from [-100px -50px] to [100px 50px] at (-1) should be [-300px -150px] +Pass CSS Animations: property from [-100px -50px] to [100px 50px] at (2) should be [300px 150px] +Pass Web Animations: property from [-100px -50px] to [100px 50px] at (-1) should be [-300px -150px] Pass Web Animations: property from [-100px -50px] to [100px 50px] at (0) should be [-100px -50px] -Fail Web Animations: property from [-100px -50px] to [100px 50px] at (0.25) should be [-50px -25px] -Fail Web Animations: property from [-100px -50px] to [100px 50px] at (0.75) should be [50px 25px] +Pass Web Animations: property from [-100px -50px] to [100px 50px] at (0.25) should be [-50px -25px] +Pass Web Animations: property from [-100px -50px] to [100px 50px] at (0.75) should be [50px 25px] Pass Web Animations: property from [-100px -50px] to [100px 50px] at (1) should be [100px 50px] -Fail Web Animations: property from [-100px -50px] to [100px 50px] at (2) should be [300px 150px] -Fail CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (-1) should be [140px 80px 20px] +Pass Web Animations: property from [-100px -50px] to [100px 50px] at (2) should be [300px 150px] +Pass CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (-1) should be [140px 80px 20px] Pass CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (0) should be [220px 240px 260px] -Fail CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (0.125) should be [230px 260px 290px] -Fail CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (0.875) should be [290px 380px 470px] +Pass CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (0.125) should be [230px 260px 290px] +Pass CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (0.875) should be [290px 380px 470px] Pass CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (1) should be [300px 400px 500px] -Fail CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (2) should be [380px 560px 740px] -Fail CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (-1) should be [140px 80px 20px] +Pass CSS Transitions: property from [220px 240px 260px] to [300px 400px 500px] at (2) should be [380px 560px 740px] +Pass CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (-1) should be [140px 80px 20px] Pass CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (0) should be [220px 240px 260px] -Fail CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (0.125) should be [230px 260px 290px] -Fail CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (0.875) should be [290px 380px 470px] +Pass CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (0.125) should be [230px 260px 290px] +Pass CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (0.875) should be [290px 380px 470px] Pass CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (1) should be [300px 400px 500px] -Fail CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (2) should be [380px 560px 740px] -Fail CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (-1) should be [140px 80px 20px] +Pass CSS Transitions with transition: all: property from [220px 240px 260px] to [300px 400px 500px] at (2) should be [380px 560px 740px] +Pass CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (-1) should be [140px 80px 20px] Pass CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0) should be [220px 240px 260px] -Fail CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0.125) should be [230px 260px 290px] -Fail CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0.875) should be [290px 380px 470px] +Pass CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0.125) should be [230px 260px 290px] +Pass CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0.875) should be [290px 380px 470px] Pass CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (1) should be [300px 400px 500px] -Fail CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (2) should be [380px 560px 740px] -Fail Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (-1) should be [140px 80px 20px] +Pass CSS Animations: property from [220px 240px 260px] to [300px 400px 500px] at (2) should be [380px 560px 740px] +Pass Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (-1) should be [140px 80px 20px] Pass Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0) should be [220px 240px 260px] -Fail Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0.125) should be [230px 260px 290px] -Fail Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0.875) should be [290px 380px 470px] +Pass Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0.125) should be [230px 260px 290px] +Pass Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (0.875) should be [290px 380px 470px] Pass Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (1) should be [300px 400px 500px] -Fail Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (2) should be [380px 560px 740px] -Fail CSS Transitions: property from [0px] to [-100px -50px 100px] at (-1) should be [100px 50px -100px] +Pass Web Animations: property from [220px 240px 260px] to [300px 400px 500px] at (2) should be [380px 560px 740px] +Pass CSS Transitions: property from [0px] to [-100px -50px 100px] at (-1) should be [100px 50px -100px] Pass CSS Transitions: property from [0px] to [-100px -50px 100px] at (0) should be [0px] -Fail CSS Transitions: property from [0px] to [-100px -50px 100px] at (0.25) should be [-25px -12.5px 25px] -Fail CSS Transitions: property from [0px] to [-100px -50px 100px] at (0.75) should be [-75px -37.5px 75px] +Pass CSS Transitions: property from [0px] to [-100px -50px 100px] at (0.25) should be [-25px -12.5px 25px] +Pass CSS Transitions: property from [0px] to [-100px -50px 100px] at (0.75) should be [-75px -37.5px 75px] Pass CSS Transitions: property from [0px] to [-100px -50px 100px] at (1) should be [-100px -50px 100px] -Fail CSS Transitions: property from [0px] to [-100px -50px 100px] at (2) should be [-200px -100px 200px] -Fail CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (-1) should be [100px 50px -100px] +Pass CSS Transitions: property from [0px] to [-100px -50px 100px] at (2) should be [-200px -100px 200px] +Pass CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (-1) should be [100px 50px -100px] Pass CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (0) should be [0px] -Fail CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (0.25) should be [-25px -12.5px 25px] -Fail CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (0.75) should be [-75px -37.5px 75px] +Pass CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (0.25) should be [-25px -12.5px 25px] +Pass CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (0.75) should be [-75px -37.5px 75px] Pass CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (1) should be [-100px -50px 100px] -Fail CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (2) should be [-200px -100px 200px] -Fail CSS Animations: property from [0px] to [-100px -50px 100px] at (-1) should be [100px 50px -100px] +Pass CSS Transitions with transition: all: property from [0px] to [-100px -50px 100px] at (2) should be [-200px -100px 200px] +Pass CSS Animations: property from [0px] to [-100px -50px 100px] at (-1) should be [100px 50px -100px] Pass CSS Animations: property from [0px] to [-100px -50px 100px] at (0) should be [0px] -Fail CSS Animations: property from [0px] to [-100px -50px 100px] at (0.25) should be [-25px -12.5px 25px] -Fail CSS Animations: property from [0px] to [-100px -50px 100px] at (0.75) should be [-75px -37.5px 75px] +Pass CSS Animations: property from [0px] to [-100px -50px 100px] at (0.25) should be [-25px -12.5px 25px] +Pass CSS Animations: property from [0px] to [-100px -50px 100px] at (0.75) should be [-75px -37.5px 75px] Pass CSS Animations: property from [0px] to [-100px -50px 100px] at (1) should be [-100px -50px 100px] -Fail CSS Animations: property from [0px] to [-100px -50px 100px] at (2) should be [-200px -100px 200px] -Fail Web Animations: property from [0px] to [-100px -50px 100px] at (-1) should be [100px 50px -100px] +Pass CSS Animations: property from [0px] to [-100px -50px 100px] at (2) should be [-200px -100px 200px] +Pass Web Animations: property from [0px] to [-100px -50px 100px] at (-1) should be [100px 50px -100px] Pass Web Animations: property from [0px] to [-100px -50px 100px] at (0) should be [0px] -Fail Web Animations: property from [0px] to [-100px -50px 100px] at (0.25) should be [-25px -12.5px 25px] -Fail Web Animations: property from [0px] to [-100px -50px 100px] at (0.75) should be [-75px -37.5px 75px] +Pass Web Animations: property from [0px] to [-100px -50px 100px] at (0.25) should be [-25px -12.5px 25px] +Pass Web Animations: property from [0px] to [-100px -50px 100px] at (0.75) should be [-75px -37.5px 75px] Pass Web Animations: property from [0px] to [-100px -50px 100px] at (1) should be [-100px -50px 100px] -Fail Web Animations: property from [0px] to [-100px -50px 100px] at (2) should be [-200px -100px 200px] -Fail CSS Transitions: property from [-100px -50px 100px] to [0px] at (-1) should be [-200px -100px 200px] +Pass Web Animations: property from [0px] to [-100px -50px 100px] at (2) should be [-200px -100px 200px] +Pass CSS Transitions: property from [-100px -50px 100px] to [0px] at (-1) should be [-200px -100px 200px] Pass CSS Transitions: property from [-100px -50px 100px] to [0px] at (0) should be [-100px -50px 100px] -Fail CSS Transitions: property from [-100px -50px 100px] to [0px] at (0.25) should be [-75px -37.5px 75px] -Fail CSS Transitions: property from [-100px -50px 100px] to [0px] at (0.75) should be [-25px -12.5px 25px] +Pass CSS Transitions: property from [-100px -50px 100px] to [0px] at (0.25) should be [-75px -37.5px 75px] +Pass CSS Transitions: property from [-100px -50px 100px] to [0px] at (0.75) should be [-25px -12.5px 25px] Pass CSS Transitions: property from [-100px -50px 100px] to [0px] at (1) should be [0px] -Fail CSS Transitions: property from [-100px -50px 100px] to [0px] at (2) should be [100px 50px -100px] -Fail CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (-1) should be [-200px -100px 200px] +Pass CSS Transitions: property from [-100px -50px 100px] to [0px] at (2) should be [100px 50px -100px] +Pass CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (-1) should be [-200px -100px 200px] Pass CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (0) should be [-100px -50px 100px] -Fail CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (0.25) should be [-75px -37.5px 75px] -Fail CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (0.75) should be [-25px -12.5px 25px] +Pass CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (0.25) should be [-75px -37.5px 75px] +Pass CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (0.75) should be [-25px -12.5px 25px] Pass CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (1) should be [0px] -Fail CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (2) should be [100px 50px -100px] -Fail CSS Animations: property from [-100px -50px 100px] to [0px] at (-1) should be [-200px -100px 200px] +Pass CSS Transitions with transition: all: property from [-100px -50px 100px] to [0px] at (2) should be [100px 50px -100px] +Pass CSS Animations: property from [-100px -50px 100px] to [0px] at (-1) should be [-200px -100px 200px] Pass CSS Animations: property from [-100px -50px 100px] to [0px] at (0) should be [-100px -50px 100px] -Fail CSS Animations: property from [-100px -50px 100px] to [0px] at (0.25) should be [-75px -37.5px 75px] -Fail CSS Animations: property from [-100px -50px 100px] to [0px] at (0.75) should be [-25px -12.5px 25px] +Pass CSS Animations: property from [-100px -50px 100px] to [0px] at (0.25) should be [-75px -37.5px 75px] +Pass CSS Animations: property from [-100px -50px 100px] to [0px] at (0.75) should be [-25px -12.5px 25px] Pass CSS Animations: property from [-100px -50px 100px] to [0px] at (1) should be [0px] -Fail CSS Animations: property from [-100px -50px 100px] to [0px] at (2) should be [100px 50px -100px] -Fail Web Animations: property from [-100px -50px 100px] to [0px] at (-1) should be [-200px -100px 200px] +Pass CSS Animations: property from [-100px -50px 100px] to [0px] at (2) should be [100px 50px -100px] +Pass Web Animations: property from [-100px -50px 100px] to [0px] at (-1) should be [-200px -100px 200px] Pass Web Animations: property from [-100px -50px 100px] to [0px] at (0) should be [-100px -50px 100px] -Fail Web Animations: property from [-100px -50px 100px] to [0px] at (0.25) should be [-75px -37.5px 75px] -Fail Web Animations: property from [-100px -50px 100px] to [0px] at (0.75) should be [-25px -12.5px 25px] +Pass Web Animations: property from [-100px -50px 100px] to [0px] at (0.25) should be [-75px -37.5px 75px] +Pass Web Animations: property from [-100px -50px 100px] to [0px] at (0.75) should be [-25px -12.5px 25px] Pass Web Animations: property from [-100px -50px 100px] to [0px] at (1) should be [0px] -Fail Web Animations: property from [-100px -50px 100px] to [0px] at (2) should be [100px 50px -100px] +Pass Web Animations: property from [-100px -50px 100px] to [0px] at (2) should be [100px 50px -100px] Fail CSS Transitions: property from [480px 400px 320px] to [240% 160%] at (-1) should be [calc(960px - 240%) calc(800px - 160%) 640px] Fail CSS Transitions: property from [480px 400px 320px] to [240% 160%] at (0) should be [calc(0% + 480px) calc(0% + 400px) 320px] Fail CSS Transitions: property from [480px 400px 320px] to [240% 160%] at (0.125) should be [calc(420px + 30%) calc(350px + 20%) 280px] Fail CSS Transitions: property from [480px 400px 320px] to [240% 160%] at (0.875) should be [calc(210% + 60px) calc(140% + 50px) 40px] -Pass CSS Transitions: property from [480px 400px 320px] to [240% 160%] at (1) should be [240% 160%] +Fail CSS Transitions: property from [480px 400px 320px] to [240% 160%] at (1) should be [240% 160%] Fail CSS Transitions: property from [480px 400px 320px] to [240% 160%] at (2) should be [calc(480% - 480px) calc(320% - 400px) -320px] Fail CSS Transitions with transition: all: property from [480px 400px 320px] to [240% 160%] at (-1) should be [calc(960px - 240%) calc(800px - 160%) 640px] Fail CSS Transitions with transition: all: property from [480px 400px 320px] to [240% 160%] at (0) should be [calc(0% + 480px) calc(0% + 400px) 320px] Fail CSS Transitions with transition: all: property from [480px 400px 320px] to [240% 160%] at (0.125) should be [calc(420px + 30%) calc(350px + 20%) 280px] Fail CSS Transitions with transition: all: property from [480px 400px 320px] to [240% 160%] at (0.875) should be [calc(210% + 60px) calc(140% + 50px) 40px] -Pass CSS Transitions with transition: all: property from [480px 400px 320px] to [240% 160%] at (1) should be [240% 160%] +Fail CSS Transitions with transition: all: property from [480px 400px 320px] to [240% 160%] at (1) should be [240% 160%] Fail CSS Transitions with transition: all: property from [480px 400px 320px] to [240% 160%] at (2) should be [calc(480% - 480px) calc(320% - 400px) -320px] Fail CSS Animations: property from [480px 400px 320px] to [240% 160%] at (-1) should be [calc(960px - 240%) calc(800px - 160%) 640px] Fail CSS Animations: property from [480px 400px 320px] to [240% 160%] at (0) should be [calc(0% + 480px) calc(0% + 400px) 320px] Fail CSS Animations: property from [480px 400px 320px] to [240% 160%] at (0.125) should be [calc(420px + 30%) calc(350px + 20%) 280px] Fail CSS Animations: property from [480px 400px 320px] to [240% 160%] at (0.875) should be [calc(210% + 60px) calc(140% + 50px) 40px] -Pass CSS Animations: property from [480px 400px 320px] to [240% 160%] at (1) should be [240% 160%] +Fail CSS Animations: property from [480px 400px 320px] to [240% 160%] at (1) should be [240% 160%] Fail CSS Animations: property from [480px 400px 320px] to [240% 160%] at (2) should be [calc(480% - 480px) calc(320% - 400px) -320px] Fail Web Animations: property from [480px 400px 320px] to [240% 160%] at (-1) should be [calc(960px - 240%) calc(800px - 160%) 640px] Fail Web Animations: property from [480px 400px 320px] to [240% 160%] at (0) should be [calc(0% + 480px) calc(0% + 400px) 320px] Fail Web Animations: property from [480px 400px 320px] to [240% 160%] at (0.125) should be [calc(420px + 30%) calc(350px + 20%) 280px] Fail Web Animations: property from [480px 400px 320px] to [240% 160%] at (0.875) should be [calc(210% + 60px) calc(140% + 50px) 40px] -Pass Web Animations: property from [480px 400px 320px] to [240% 160%] at (1) should be [240% 160%] +Fail Web Animations: property from [480px 400px 320px] to [240% 160%] at (1) should be [240% 160%] Fail Web Animations: property from [480px 400px 320px] to [240% 160%] at (2) should be [calc(480% - 480px) calc(320% - 400px) -320px] Pass CSS Transitions: property from [none] to [none] at (-1) should be [none] Pass CSS Transitions: property from [none] to [none] at (0) should be [none] @@ -200,38 +200,38 @@ Fail CSS Transitions: property from [none] to [8px 80% 800px] at (-1 Fail CSS Transitions: property from [none] to [8px 80% 800px] at (0) should be [0px 0%] Fail CSS Transitions: property from [none] to [8px 80% 800px] at (0.125) should be [1px 10% 100px] Fail CSS Transitions: property from [none] to [8px 80% 800px] at (0.875) should be [7px 70% 700px] -Pass CSS Transitions: property from [none] to [8px 80% 800px] at (1) should be [8px 80% 800px] +Fail CSS Transitions: property from [none] to [8px 80% 800px] at (1) should be [8px 80% 800px] Fail CSS Transitions: property from [none] to [8px 80% 800px] at (2) should be [16px 160% 1600px] Fail CSS Transitions with transition: all: property from [none] to [8px 80% 800px] at (-1) should be [-8px -80% -800px] Fail CSS Transitions with transition: all: property from [none] to [8px 80% 800px] at (0) should be [0px 0%] Fail CSS Transitions with transition: all: property from [none] to [8px 80% 800px] at (0.125) should be [1px 10% 100px] Fail CSS Transitions with transition: all: property from [none] to [8px 80% 800px] at (0.875) should be [7px 70% 700px] -Pass CSS Transitions with transition: all: property from [none] to [8px 80% 800px] at (1) should be [8px 80% 800px] +Fail CSS Transitions with transition: all: property from [none] to [8px 80% 800px] at (1) should be [8px 80% 800px] Fail CSS Transitions with transition: all: property from [none] to [8px 80% 800px] at (2) should be [16px 160% 1600px] Fail CSS Animations: property from [none] to [8px 80% 800px] at (-1) should be [-8px -80% -800px] Fail CSS Animations: property from [none] to [8px 80% 800px] at (0) should be [0px 0%] Fail CSS Animations: property from [none] to [8px 80% 800px] at (0.125) should be [1px 10% 100px] Fail CSS Animations: property from [none] to [8px 80% 800px] at (0.875) should be [7px 70% 700px] -Pass CSS Animations: property from [none] to [8px 80% 800px] at (1) should be [8px 80% 800px] +Fail CSS Animations: property from [none] to [8px 80% 800px] at (1) should be [8px 80% 800px] Fail CSS Animations: property from [none] to [8px 80% 800px] at (2) should be [16px 160% 1600px] Fail Web Animations: property from [none] to [8px 80% 800px] at (-1) should be [-8px -80% -800px] Fail Web Animations: property from [none] to [8px 80% 800px] at (0) should be [0px 0%] Fail Web Animations: property from [none] to [8px 80% 800px] at (0.125) should be [1px 10% 100px] Fail Web Animations: property from [none] to [8px 80% 800px] at (0.875) should be [7px 70% 700px] -Pass Web Animations: property from [none] to [8px 80% 800px] at (1) should be [8px 80% 800px] +Fail Web Animations: property from [none] to [8px 80% 800px] at (1) should be [8px 80% 800px] Fail Web Animations: property from [none] to [8px 80% 800px] at (2) should be [16px 160% 1600px] -Fail CSS Transitions: property from neutral to [20px] at (-1) should be [0px] +Pass CSS Transitions: property from neutral to [20px] at (-1) should be [0px] Pass CSS Transitions: property from neutral to [20px] at (0) should be [10px] -Fail CSS Transitions: property from neutral to [20px] at (0.25) should be [12.5px] -Fail CSS Transitions: property from neutral to [20px] at (0.75) should be [17.5px] +Pass CSS Transitions: property from neutral to [20px] at (0.25) should be [12.5px] +Pass CSS Transitions: property from neutral to [20px] at (0.75) should be [17.5px] Pass CSS Transitions: property from neutral to [20px] at (1) should be [20px] -Fail CSS Transitions: property from neutral to [20px] at (2) should be [30px] -Fail CSS Transitions with transition: all: property from neutral to [20px] at (-1) should be [0px] +Pass CSS Transitions: property from neutral to [20px] at (2) should be [30px] +Pass CSS Transitions with transition: all: property from neutral to [20px] at (-1) should be [0px] Pass CSS Transitions with transition: all: property from neutral to [20px] at (0) should be [10px] -Fail CSS Transitions with transition: all: property from neutral to [20px] at (0.25) should be [12.5px] -Fail CSS Transitions with transition: all: property from neutral to [20px] at (0.75) should be [17.5px] +Pass CSS Transitions with transition: all: property from neutral to [20px] at (0.25) should be [12.5px] +Pass CSS Transitions with transition: all: property from neutral to [20px] at (0.75) should be [17.5px] Pass CSS Transitions with transition: all: property from neutral to [20px] at (1) should be [20px] -Fail CSS Transitions with transition: all: property from neutral to [20px] at (2) should be [30px] +Pass CSS Transitions with transition: all: property from neutral to [20px] at (2) should be [30px] Fail CSS Animations: property from neutral to [20px] at (-1) should be [0px] Fail CSS Animations: property from neutral to [20px] at (0) should be [10px] Fail CSS Animations: property from neutral to [20px] at (0.25) should be [12.5px] @@ -244,171 +244,171 @@ Fail Web Animations: property from neutral to [20px] at (0.25) shoul Fail Web Animations: property from neutral to [20px] at (0.75) should be [17.5px] Pass Web Animations: property from neutral to [20px] at (1) should be [20px] Fail Web Animations: property from neutral to [20px] at (2) should be [30px] -Fail CSS Transitions: property from [initial] to [200px 100px 200px] at (-1) should be [-200px -100px -200px] -Fail CSS Transitions: property from [initial] to [200px 100px 200px] at (0) should be [0px] -Fail CSS Transitions: property from [initial] to [200px 100px 200px] at (0.25) should be [50px 25px 50px] -Fail CSS Transitions: property from [initial] to [200px 100px 200px] at (0.75) should be [150px 75px 150px] +Pass CSS Transitions: property from [initial] to [200px 100px 200px] at (-1) should be [-200px -100px -200px] +Pass CSS Transitions: property from [initial] to [200px 100px 200px] at (0) should be [0px] +Pass CSS Transitions: property from [initial] to [200px 100px 200px] at (0.25) should be [50px 25px 50px] +Pass CSS Transitions: property from [initial] to [200px 100px 200px] at (0.75) should be [150px 75px 150px] Pass CSS Transitions: property from [initial] to [200px 100px 200px] at (1) should be [200px 100px 200px] -Fail CSS Transitions: property from [initial] to [200px 100px 200px] at (2) should be [400px 200px 400px] -Fail CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (-1) should be [-200px -100px -200px] -Fail CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (0) should be [0px] -Fail CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (0.25) should be [50px 25px 50px] -Fail CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (0.75) should be [150px 75px 150px] +Pass CSS Transitions: property from [initial] to [200px 100px 200px] at (2) should be [400px 200px 400px] +Pass CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (-1) should be [-200px -100px -200px] +Pass CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (0) should be [0px] +Pass CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (0.25) should be [50px 25px 50px] +Pass CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (0.75) should be [150px 75px 150px] Pass CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (1) should be [200px 100px 200px] -Fail CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (2) should be [400px 200px 400px] -Fail CSS Animations: property from [initial] to [200px 100px 200px] at (-1) should be [-200px -100px -200px] -Fail CSS Animations: property from [initial] to [200px 100px 200px] at (0) should be [0px] -Fail CSS Animations: property from [initial] to [200px 100px 200px] at (0.25) should be [50px 25px 50px] -Fail CSS Animations: property from [initial] to [200px 100px 200px] at (0.75) should be [150px 75px 150px] +Pass CSS Transitions with transition: all: property from [initial] to [200px 100px 200px] at (2) should be [400px 200px 400px] +Pass CSS Animations: property from [initial] to [200px 100px 200px] at (-1) should be [-200px -100px -200px] +Pass CSS Animations: property from [initial] to [200px 100px 200px] at (0) should be [0px] +Pass CSS Animations: property from [initial] to [200px 100px 200px] at (0.25) should be [50px 25px 50px] +Pass CSS Animations: property from [initial] to [200px 100px 200px] at (0.75) should be [150px 75px 150px] Pass CSS Animations: property from [initial] to [200px 100px 200px] at (1) should be [200px 100px 200px] -Fail CSS Animations: property from [initial] to [200px 100px 200px] at (2) should be [400px 200px 400px] -Fail Web Animations: property from [initial] to [200px 100px 200px] at (-1) should be [-200px -100px -200px] -Fail Web Animations: property from [initial] to [200px 100px 200px] at (0) should be [0px] -Fail Web Animations: property from [initial] to [200px 100px 200px] at (0.25) should be [50px 25px 50px] -Fail Web Animations: property from [initial] to [200px 100px 200px] at (0.75) should be [150px 75px 150px] +Pass CSS Animations: property from [initial] to [200px 100px 200px] at (2) should be [400px 200px 400px] +Pass Web Animations: property from [initial] to [200px 100px 200px] at (-1) should be [-200px -100px -200px] +Pass Web Animations: property from [initial] to [200px 100px 200px] at (0) should be [0px] +Pass Web Animations: property from [initial] to [200px 100px 200px] at (0.25) should be [50px 25px 50px] +Pass Web Animations: property from [initial] to [200px 100px 200px] at (0.75) should be [150px 75px 150px] Pass Web Animations: property from [initial] to [200px 100px 200px] at (1) should be [200px 100px 200px] -Fail Web Animations: property from [initial] to [200px 100px 200px] at (2) should be [400px 200px 400px] -Fail CSS Transitions: property from [200px 100px 400px] to [initial] at (-1) should be [400px 200px 800px] +Pass Web Animations: property from [initial] to [200px 100px 200px] at (2) should be [400px 200px 400px] +Pass CSS Transitions: property from [200px 100px 400px] to [initial] at (-1) should be [400px 200px 800px] Pass CSS Transitions: property from [200px 100px 400px] to [initial] at (0) should be [200px 100px 400px] -Fail CSS Transitions: property from [200px 100px 400px] to [initial] at (0.25) should be [150px 75px 300px] -Fail CSS Transitions: property from [200px 100px 400px] to [initial] at (0.75) should be [50px 25px 100px] -Fail CSS Transitions: property from [200px 100px 400px] to [initial] at (1) should be [0px] -Fail CSS Transitions: property from [200px 100px 400px] to [initial] at (2) should be [-200px -100px -400px] -Fail CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (-1) should be [400px 200px 800px] +Pass CSS Transitions: property from [200px 100px 400px] to [initial] at (0.25) should be [150px 75px 300px] +Pass CSS Transitions: property from [200px 100px 400px] to [initial] at (0.75) should be [50px 25px 100px] +Pass CSS Transitions: property from [200px 100px 400px] to [initial] at (1) should be [0px] +Pass CSS Transitions: property from [200px 100px 400px] to [initial] at (2) should be [-200px -100px -400px] +Pass CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (-1) should be [400px 200px 800px] Pass CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (0) should be [200px 100px 400px] -Fail CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (0.25) should be [150px 75px 300px] -Fail CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (0.75) should be [50px 25px 100px] -Fail CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (1) should be [0px] -Fail CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (2) should be [-200px -100px -400px] -Fail CSS Animations: property from [200px 100px 400px] to [initial] at (-1) should be [400px 200px 800px] +Pass CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (0.25) should be [150px 75px 300px] +Pass CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (0.75) should be [50px 25px 100px] +Pass CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (1) should be [0px] +Pass CSS Transitions with transition: all: property from [200px 100px 400px] to [initial] at (2) should be [-200px -100px -400px] +Pass CSS Animations: property from [200px 100px 400px] to [initial] at (-1) should be [400px 200px 800px] Pass CSS Animations: property from [200px 100px 400px] to [initial] at (0) should be [200px 100px 400px] -Fail CSS Animations: property from [200px 100px 400px] to [initial] at (0.25) should be [150px 75px 300px] -Fail CSS Animations: property from [200px 100px 400px] to [initial] at (0.75) should be [50px 25px 100px] -Fail CSS Animations: property from [200px 100px 400px] to [initial] at (1) should be [0px] -Fail CSS Animations: property from [200px 100px 400px] to [initial] at (2) should be [-200px -100px -400px] -Fail Web Animations: property from [200px 100px 400px] to [initial] at (-1) should be [400px 200px 800px] +Pass CSS Animations: property from [200px 100px 400px] to [initial] at (0.25) should be [150px 75px 300px] +Pass CSS Animations: property from [200px 100px 400px] to [initial] at (0.75) should be [50px 25px 100px] +Pass CSS Animations: property from [200px 100px 400px] to [initial] at (1) should be [0px] +Pass CSS Animations: property from [200px 100px 400px] to [initial] at (2) should be [-200px -100px -400px] +Pass Web Animations: property from [200px 100px 400px] to [initial] at (-1) should be [400px 200px 800px] Pass Web Animations: property from [200px 100px 400px] to [initial] at (0) should be [200px 100px 400px] -Fail Web Animations: property from [200px 100px 400px] to [initial] at (0.25) should be [150px 75px 300px] -Fail Web Animations: property from [200px 100px 400px] to [initial] at (0.75) should be [50px 25px 100px] -Fail Web Animations: property from [200px 100px 400px] to [initial] at (1) should be [0px] -Fail Web Animations: property from [200px 100px 400px] to [initial] at (2) should be [-200px -100px -400px] -Fail CSS Transitions: property from [unset] to [20px] at (-1) should be [-20px] -Fail CSS Transitions: property from [unset] to [20px] at (0) should be [0px] -Fail CSS Transitions: property from [unset] to [20px] at (0.25) should be [5px] -Fail CSS Transitions: property from [unset] to [20px] at (0.75) should be [15px] +Pass Web Animations: property from [200px 100px 400px] to [initial] at (0.25) should be [150px 75px 300px] +Pass Web Animations: property from [200px 100px 400px] to [initial] at (0.75) should be [50px 25px 100px] +Pass Web Animations: property from [200px 100px 400px] to [initial] at (1) should be [0px] +Pass Web Animations: property from [200px 100px 400px] to [initial] at (2) should be [-200px -100px -400px] +Pass CSS Transitions: property from [unset] to [20px] at (-1) should be [-20px] +Pass CSS Transitions: property from [unset] to [20px] at (0) should be [0px] +Pass CSS Transitions: property from [unset] to [20px] at (0.25) should be [5px] +Pass CSS Transitions: property from [unset] to [20px] at (0.75) should be [15px] Pass CSS Transitions: property from [unset] to [20px] at (1) should be [20px] -Fail CSS Transitions: property from [unset] to [20px] at (2) should be [40px] -Fail CSS Transitions with transition: all: property from [unset] to [20px] at (-1) should be [-20px] -Fail CSS Transitions with transition: all: property from [unset] to [20px] at (0) should be [0px] -Fail CSS Transitions with transition: all: property from [unset] to [20px] at (0.25) should be [5px] -Fail CSS Transitions with transition: all: property from [unset] to [20px] at (0.75) should be [15px] +Pass CSS Transitions: property from [unset] to [20px] at (2) should be [40px] +Pass CSS Transitions with transition: all: property from [unset] to [20px] at (-1) should be [-20px] +Pass CSS Transitions with transition: all: property from [unset] to [20px] at (0) should be [0px] +Pass CSS Transitions with transition: all: property from [unset] to [20px] at (0.25) should be [5px] +Pass CSS Transitions with transition: all: property from [unset] to [20px] at (0.75) should be [15px] Pass CSS Transitions with transition: all: property from [unset] to [20px] at (1) should be [20px] -Fail CSS Transitions with transition: all: property from [unset] to [20px] at (2) should be [40px] -Fail CSS Animations: property from [unset] to [20px] at (-1) should be [-20px] -Fail CSS Animations: property from [unset] to [20px] at (0) should be [0px] -Fail CSS Animations: property from [unset] to [20px] at (0.25) should be [5px] -Fail CSS Animations: property from [unset] to [20px] at (0.75) should be [15px] +Pass CSS Transitions with transition: all: property from [unset] to [20px] at (2) should be [40px] +Pass CSS Animations: property from [unset] to [20px] at (-1) should be [-20px] +Pass CSS Animations: property from [unset] to [20px] at (0) should be [0px] +Pass CSS Animations: property from [unset] to [20px] at (0.25) should be [5px] +Pass CSS Animations: property from [unset] to [20px] at (0.75) should be [15px] Pass CSS Animations: property from [unset] to [20px] at (1) should be [20px] -Fail CSS Animations: property from [unset] to [20px] at (2) should be [40px] -Fail Web Animations: property from [unset] to [20px] at (-1) should be [-20px] -Fail Web Animations: property from [unset] to [20px] at (0) should be [0px] -Fail Web Animations: property from [unset] to [20px] at (0.25) should be [5px] -Fail Web Animations: property from [unset] to [20px] at (0.75) should be [15px] +Pass CSS Animations: property from [unset] to [20px] at (2) should be [40px] +Pass Web Animations: property from [unset] to [20px] at (-1) should be [-20px] +Pass Web Animations: property from [unset] to [20px] at (0) should be [0px] +Pass Web Animations: property from [unset] to [20px] at (0.25) should be [5px] +Pass Web Animations: property from [unset] to [20px] at (0.75) should be [15px] Pass Web Animations: property from [unset] to [20px] at (1) should be [20px] -Fail Web Animations: property from [unset] to [20px] at (2) should be [40px] -Fail CSS Transitions: property from [inherit] to [200px 100px 200px] at (-1) should be [0px 300px 400px] +Pass Web Animations: property from [unset] to [20px] at (2) should be [40px] +Pass CSS Transitions: property from [inherit] to [200px 100px 200px] at (-1) should be [0px 300px 400px] Pass CSS Transitions: property from [inherit] to [200px 100px 200px] at (0) should be [100px 200px 300px] -Fail CSS Transitions: property from [inherit] to [200px 100px 200px] at (0.25) should be [125px 175px 275px] -Fail CSS Transitions: property from [inherit] to [200px 100px 200px] at (0.75) should be [175px 125px 225px] +Pass CSS Transitions: property from [inherit] to [200px 100px 200px] at (0.25) should be [125px 175px 275px] +Pass CSS Transitions: property from [inherit] to [200px 100px 200px] at (0.75) should be [175px 125px 225px] Pass CSS Transitions: property from [inherit] to [200px 100px 200px] at (1) should be [200px 100px 200px] -Fail CSS Transitions: property from [inherit] to [200px 100px 200px] at (2) should be [300px 0px 100px] -Fail CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (-1) should be [0px 300px 400px] +Pass CSS Transitions: property from [inherit] to [200px 100px 200px] at (2) should be [300px 0px 100px] +Pass CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (-1) should be [0px 300px 400px] Pass CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (0) should be [100px 200px 300px] -Fail CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (0.25) should be [125px 175px 275px] -Fail CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (0.75) should be [175px 125px 225px] +Pass CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (0.25) should be [125px 175px 275px] +Pass CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (0.75) should be [175px 125px 225px] Pass CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (1) should be [200px 100px 200px] -Fail CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (2) should be [300px 0px 100px] -Fail CSS Animations: property from [inherit] to [200px 100px 200px] at (-1) should be [0px 300px 400px] +Pass CSS Transitions with transition: all: property from [inherit] to [200px 100px 200px] at (2) should be [300px 0px 100px] +Pass CSS Animations: property from [inherit] to [200px 100px 200px] at (-1) should be [0px 300px 400px] Pass CSS Animations: property from [inherit] to [200px 100px 200px] at (0) should be [100px 200px 300px] -Fail CSS Animations: property from [inherit] to [200px 100px 200px] at (0.25) should be [125px 175px 275px] -Fail CSS Animations: property from [inherit] to [200px 100px 200px] at (0.75) should be [175px 125px 225px] +Pass CSS Animations: property from [inherit] to [200px 100px 200px] at (0.25) should be [125px 175px 275px] +Pass CSS Animations: property from [inherit] to [200px 100px 200px] at (0.75) should be [175px 125px 225px] Pass CSS Animations: property from [inherit] to [200px 100px 200px] at (1) should be [200px 100px 200px] -Fail CSS Animations: property from [inherit] to [200px 100px 200px] at (2) should be [300px 0px 100px] -Fail Web Animations: property from [inherit] to [200px 100px 200px] at (-1) should be [0px 300px 400px] +Pass CSS Animations: property from [inherit] to [200px 100px 200px] at (2) should be [300px 0px 100px] +Pass Web Animations: property from [inherit] to [200px 100px 200px] at (-1) should be [0px 300px 400px] Pass Web Animations: property from [inherit] to [200px 100px 200px] at (0) should be [100px 200px 300px] -Fail Web Animations: property from [inherit] to [200px 100px 200px] at (0.25) should be [125px 175px 275px] -Fail Web Animations: property from [inherit] to [200px 100px 200px] at (0.75) should be [175px 125px 225px] +Pass Web Animations: property from [inherit] to [200px 100px 200px] at (0.25) should be [125px 175px 275px] +Pass Web Animations: property from [inherit] to [200px 100px 200px] at (0.75) should be [175px 125px 225px] Pass Web Animations: property from [inherit] to [200px 100px 200px] at (1) should be [200px 100px 200px] -Fail Web Animations: property from [inherit] to [200px 100px 200px] at (2) should be [300px 0px 100px] -Fail CSS Transitions: property from [200px 100px 200px] to [inherit] at (-1) should be [300px 0px 100px] +Pass Web Animations: property from [inherit] to [200px 100px 200px] at (2) should be [300px 0px 100px] +Pass CSS Transitions: property from [200px 100px 200px] to [inherit] at (-1) should be [300px 0px 100px] Pass CSS Transitions: property from [200px 100px 200px] to [inherit] at (0) should be [200px 100px 200px] -Fail CSS Transitions: property from [200px 100px 200px] to [inherit] at (0.25) should be [175px 125px 225px] -Fail CSS Transitions: property from [200px 100px 200px] to [inherit] at (0.75) should be [125px 175px 275px] +Pass CSS Transitions: property from [200px 100px 200px] to [inherit] at (0.25) should be [175px 125px 225px] +Pass CSS Transitions: property from [200px 100px 200px] to [inherit] at (0.75) should be [125px 175px 275px] Pass CSS Transitions: property from [200px 100px 200px] to [inherit] at (1) should be [100px 200px 300px] -Fail CSS Transitions: property from [200px 100px 200px] to [inherit] at (2) should be [0px 300px 400px] -Fail CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (-1) should be [300px 0px 100px] +Pass CSS Transitions: property from [200px 100px 200px] to [inherit] at (2) should be [0px 300px 400px] +Pass CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (-1) should be [300px 0px 100px] Pass CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (0) should be [200px 100px 200px] -Fail CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (0.25) should be [175px 125px 225px] -Fail CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (0.75) should be [125px 175px 275px] +Pass CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (0.25) should be [175px 125px 225px] +Pass CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (0.75) should be [125px 175px 275px] Pass CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (1) should be [100px 200px 300px] -Fail CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (2) should be [0px 300px 400px] -Fail CSS Animations: property from [200px 100px 200px] to [inherit] at (-1) should be [300px 0px 100px] +Pass CSS Transitions with transition: all: property from [200px 100px 200px] to [inherit] at (2) should be [0px 300px 400px] +Pass CSS Animations: property from [200px 100px 200px] to [inherit] at (-1) should be [300px 0px 100px] Pass CSS Animations: property from [200px 100px 200px] to [inherit] at (0) should be [200px 100px 200px] -Fail CSS Animations: property from [200px 100px 200px] to [inherit] at (0.25) should be [175px 125px 225px] -Fail CSS Animations: property from [200px 100px 200px] to [inherit] at (0.75) should be [125px 175px 275px] +Pass CSS Animations: property from [200px 100px 200px] to [inherit] at (0.25) should be [175px 125px 225px] +Pass CSS Animations: property from [200px 100px 200px] to [inherit] at (0.75) should be [125px 175px 275px] Pass CSS Animations: property from [200px 100px 200px] to [inherit] at (1) should be [100px 200px 300px] -Fail CSS Animations: property from [200px 100px 200px] to [inherit] at (2) should be [0px 300px 400px] -Fail Web Animations: property from [200px 100px 200px] to [inherit] at (-1) should be [300px 0px 100px] +Pass CSS Animations: property from [200px 100px 200px] to [inherit] at (2) should be [0px 300px 400px] +Pass Web Animations: property from [200px 100px 200px] to [inherit] at (-1) should be [300px 0px 100px] Pass Web Animations: property from [200px 100px 200px] to [inherit] at (0) should be [200px 100px 200px] -Fail Web Animations: property from [200px 100px 200px] to [inherit] at (0.25) should be [175px 125px 225px] -Fail Web Animations: property from [200px 100px 200px] to [inherit] at (0.75) should be [125px 175px 275px] +Pass Web Animations: property from [200px 100px 200px] to [inherit] at (0.25) should be [175px 125px 225px] +Pass Web Animations: property from [200px 100px 200px] to [inherit] at (0.75) should be [125px 175px 275px] Pass Web Animations: property from [200px 100px 200px] to [inherit] at (1) should be [100px 200px 300px] -Fail Web Animations: property from [200px 100px 200px] to [inherit] at (2) should be [0px 300px 400px] -Fail CSS Transitions: property from [initial] to [inherit] at (-1) should be [-100px -200px -300px] -Fail CSS Transitions: property from [initial] to [inherit] at (0) should be [0px] -Fail CSS Transitions: property from [initial] to [inherit] at (0.25) should be [25px 50px 75px] -Fail CSS Transitions: property from [initial] to [inherit] at (0.75) should be [75px 150px 225px] +Pass Web Animations: property from [200px 100px 200px] to [inherit] at (2) should be [0px 300px 400px] +Pass CSS Transitions: property from [initial] to [inherit] at (-1) should be [-100px -200px -300px] +Pass CSS Transitions: property from [initial] to [inherit] at (0) should be [0px] +Pass CSS Transitions: property from [initial] to [inherit] at (0.25) should be [25px 50px 75px] +Pass CSS Transitions: property from [initial] to [inherit] at (0.75) should be [75px 150px 225px] Pass CSS Transitions: property from [initial] to [inherit] at (1) should be [100px 200px 300px] -Fail CSS Transitions: property from [initial] to [inherit] at (2) should be [200px 400px 600px] -Fail CSS Transitions with transition: all: property from [initial] to [inherit] at (-1) should be [-100px -200px -300px] -Fail CSS Transitions with transition: all: property from [initial] to [inherit] at (0) should be [0px] -Fail CSS Transitions with transition: all: property from [initial] to [inherit] at (0.25) should be [25px 50px 75px] -Fail CSS Transitions with transition: all: property from [initial] to [inherit] at (0.75) should be [75px 150px 225px] +Pass CSS Transitions: property from [initial] to [inherit] at (2) should be [200px 400px 600px] +Pass CSS Transitions with transition: all: property from [initial] to [inherit] at (-1) should be [-100px -200px -300px] +Pass CSS Transitions with transition: all: property from [initial] to [inherit] at (0) should be [0px] +Pass CSS Transitions with transition: all: property from [initial] to [inherit] at (0.25) should be [25px 50px 75px] +Pass CSS Transitions with transition: all: property from [initial] to [inherit] at (0.75) should be [75px 150px 225px] Pass CSS Transitions with transition: all: property from [initial] to [inherit] at (1) should be [100px 200px 300px] -Fail CSS Transitions with transition: all: property from [initial] to [inherit] at (2) should be [200px 400px 600px] -Fail CSS Animations: property from [initial] to [inherit] at (-1) should be [-100px -200px -300px] -Fail CSS Animations: property from [initial] to [inherit] at (0) should be [0px] -Fail CSS Animations: property from [initial] to [inherit] at (0.25) should be [25px 50px 75px] -Fail CSS Animations: property from [initial] to [inherit] at (0.75) should be [75px 150px 225px] +Pass CSS Transitions with transition: all: property from [initial] to [inherit] at (2) should be [200px 400px 600px] +Pass CSS Animations: property from [initial] to [inherit] at (-1) should be [-100px -200px -300px] +Pass CSS Animations: property from [initial] to [inherit] at (0) should be [0px] +Pass CSS Animations: property from [initial] to [inherit] at (0.25) should be [25px 50px 75px] +Pass CSS Animations: property from [initial] to [inherit] at (0.75) should be [75px 150px 225px] Pass CSS Animations: property from [initial] to [inherit] at (1) should be [100px 200px 300px] -Fail CSS Animations: property from [initial] to [inherit] at (2) should be [200px 400px 600px] -Fail Web Animations: property from [initial] to [inherit] at (-1) should be [-100px -200px -300px] -Fail Web Animations: property from [initial] to [inherit] at (0) should be [0px] -Fail Web Animations: property from [initial] to [inherit] at (0.25) should be [25px 50px 75px] -Fail Web Animations: property from [initial] to [inherit] at (0.75) should be [75px 150px 225px] +Pass CSS Animations: property from [initial] to [inherit] at (2) should be [200px 400px 600px] +Pass Web Animations: property from [initial] to [inherit] at (-1) should be [-100px -200px -300px] +Pass Web Animations: property from [initial] to [inherit] at (0) should be [0px] +Pass Web Animations: property from [initial] to [inherit] at (0.25) should be [25px 50px 75px] +Pass Web Animations: property from [initial] to [inherit] at (0.75) should be [75px 150px 225px] Pass Web Animations: property from [initial] to [inherit] at (1) should be [100px 200px 300px] -Fail Web Animations: property from [initial] to [inherit] at (2) should be [200px 400px 600px] -Fail CSS Transitions: property from [inherit] to [initial] at (-1) should be [200px 400px 600px] +Pass Web Animations: property from [initial] to [inherit] at (2) should be [200px 400px 600px] +Pass CSS Transitions: property from [inherit] to [initial] at (-1) should be [200px 400px 600px] Pass CSS Transitions: property from [inherit] to [initial] at (0) should be [100px 200px 300px] -Fail CSS Transitions: property from [inherit] to [initial] at (0.25) should be [75px 150px 225px] -Fail CSS Transitions: property from [inherit] to [initial] at (0.75) should be [25px 50px 75px] -Fail CSS Transitions: property from [inherit] to [initial] at (1) should be [0px] -Fail CSS Transitions: property from [inherit] to [initial] at (2) should be [-100px -200px -300px] -Fail CSS Transitions with transition: all: property from [inherit] to [initial] at (-1) should be [200px 400px 600px] +Pass CSS Transitions: property from [inherit] to [initial] at (0.25) should be [75px 150px 225px] +Pass CSS Transitions: property from [inherit] to [initial] at (0.75) should be [25px 50px 75px] +Pass CSS Transitions: property from [inherit] to [initial] at (1) should be [0px] +Pass CSS Transitions: property from [inherit] to [initial] at (2) should be [-100px -200px -300px] +Pass CSS Transitions with transition: all: property from [inherit] to [initial] at (-1) should be [200px 400px 600px] Pass CSS Transitions with transition: all: property from [inherit] to [initial] at (0) should be [100px 200px 300px] -Fail CSS Transitions with transition: all: property from [inherit] to [initial] at (0.25) should be [75px 150px 225px] -Fail CSS Transitions with transition: all: property from [inherit] to [initial] at (0.75) should be [25px 50px 75px] -Fail CSS Transitions with transition: all: property from [inherit] to [initial] at (1) should be [0px] -Fail CSS Transitions with transition: all: property from [inherit] to [initial] at (2) should be [-100px -200px -300px] -Fail CSS Animations: property from [inherit] to [initial] at (-1) should be [200px 400px 600px] +Pass CSS Transitions with transition: all: property from [inherit] to [initial] at (0.25) should be [75px 150px 225px] +Pass CSS Transitions with transition: all: property from [inherit] to [initial] at (0.75) should be [25px 50px 75px] +Pass CSS Transitions with transition: all: property from [inherit] to [initial] at (1) should be [0px] +Pass CSS Transitions with transition: all: property from [inherit] to [initial] at (2) should be [-100px -200px -300px] +Pass CSS Animations: property from [inherit] to [initial] at (-1) should be [200px 400px 600px] Pass CSS Animations: property from [inherit] to [initial] at (0) should be [100px 200px 300px] -Fail CSS Animations: property from [inherit] to [initial] at (0.25) should be [75px 150px 225px] -Fail CSS Animations: property from [inherit] to [initial] at (0.75) should be [25px 50px 75px] -Fail CSS Animations: property from [inherit] to [initial] at (1) should be [0px] -Fail CSS Animations: property from [inherit] to [initial] at (2) should be [-100px -200px -300px] -Fail Web Animations: property from [inherit] to [initial] at (-1) should be [200px 400px 600px] +Pass CSS Animations: property from [inherit] to [initial] at (0.25) should be [75px 150px 225px] +Pass CSS Animations: property from [inherit] to [initial] at (0.75) should be [25px 50px 75px] +Pass CSS Animations: property from [inherit] to [initial] at (1) should be [0px] +Pass CSS Animations: property from [inherit] to [initial] at (2) should be [-100px -200px -300px] +Pass Web Animations: property from [inherit] to [initial] at (-1) should be [200px 400px 600px] Pass Web Animations: property from [inherit] to [initial] at (0) should be [100px 200px 300px] -Fail Web Animations: property from [inherit] to [initial] at (0.25) should be [75px 150px 225px] -Fail Web Animations: property from [inherit] to [initial] at (0.75) should be [25px 50px 75px] -Fail Web Animations: property from [inherit] to [initial] at (1) should be [0px] -Fail Web Animations: property from [inherit] to [initial] at (2) should be [-100px -200px -300px] \ No newline at end of file +Pass Web Animations: property from [inherit] to [initial] at (0.25) should be [75px 150px 225px] +Pass Web Animations: property from [inherit] to [initial] at (0.75) should be [25px 50px 75px] +Pass Web Animations: property from [inherit] to [initial] at (1) should be [0px] +Pass Web Animations: property from [inherit] to [initial] at (2) should be [-100px -200px -300px] \ No newline at end of file