diff --git a/Libraries/LibWeb/CSS/Interpolation.cpp b/Libraries/LibWeb/CSS/Interpolation.cpp index 42ee4c02f34..f5d7fd76be1 100644 --- a/Libraries/LibWeb/CSS/Interpolation.cpp +++ b/Libraries/LibWeb/CSS/Interpolation.cpp @@ -8,6 +8,7 @@ */ #include "Interpolation.h" +#include #include #include #include @@ -72,6 +73,8 @@ ValueComparingRefPtr interpolate_property(DOM::Element& ele return interpolate_value(element, calculation_context, from, to, delta); case AnimationType::None: return to; + case AnimationType::RepeatableList: + return interpolate_repeatable_list(element, calculation_context, from, to, delta); case AnimationType::Custom: { if (property_id == PropertyID::Transform) { if (auto interpolated_transform = interpolate_transform(element, from, to, delta)) @@ -89,8 +92,6 @@ ValueComparingRefPtr interpolate_property(DOM::Element& ele // FIXME: Handle all custom animatable properties [[fallthrough]]; } - // FIXME: Handle repeatable-list animatable properties - case AnimationType::RepeatableList: case AnimationType::Discrete: default: return delta >= 0.5f ? to : from; @@ -500,7 +501,12 @@ NonnullRefPtr interpolate_box_shadow(DOM::Element& element, return StyleValueList::create(move(result_shadows), StyleValueList::Separator::Comma); } -NonnullRefPtr interpolate_value(DOM::Element& element, CalculationContext const& calculation_context, CSSStyleValue const& from, CSSStyleValue const& to, float delta) +enum class AllowDiscrete { + Yes, + No, +}; + +static RefPtr interpolate_value_impl(DOM::Element& element, CalculationContext const& calculation_context, CSSStyleValue const& from, CSSStyleValue const& to, float delta, AllowDiscrete allow_discrete) { if (from.type() != to.type()) { // Handle mixed percentage and dimension types @@ -685,8 +691,60 @@ NonnullRefPtr interpolate_value(DOM::Element& element, Calc return StyleValueList::create(move(interpolated_values), from_list.separator()); } default: + if (allow_discrete == AllowDiscrete::No) + return {}; return delta >= 0.5f ? to : from; } } +NonnullRefPtr interpolate_value(DOM::Element& element, CalculationContext const& calculation_context, CSSStyleValue const& from, CSSStyleValue const& to, float delta) +{ + return *interpolate_value_impl(element, calculation_context, from, to, delta, AllowDiscrete::Yes); +} + +NonnullRefPtr interpolate_repeatable_list(DOM::Element& element, CalculationContext const& calculation_context, CSSStyleValue const& from, CSSStyleValue const& to, float delta) +{ + // https://www.w3.org/TR/web-animations/#repeatable-list + // Same as by computed value except that if the two lists have differing numbers of items, they are first repeated to the least common multiple number of items. + // Each item is then combined by computed value. + // If a pair of values cannot be combined or if any component value uses discrete animation, then the property values combine as discrete. + + auto make_repeatable_list = [&](auto const& from_list, auto const& to_list, Function)> append_callback) -> bool { + // If the number of components or the types of corresponding components do not match, + // or if any component value uses discrete animation and the two corresponding values do not match, + // then the property values combine as discrete + auto list_size = AK::lcm(from_list.size(), to_list.size()); + for (size_t i = 0; i < list_size; ++i) { + auto value = interpolate_value_impl(element, calculation_context, from_list.value_at(i, true), to_list.value_at(i, true), delta, AllowDiscrete::No); + if (!value) + return false; + append_callback(*value); + } + + return true; + }; + + auto make_single_value_list = [&](auto const& value, size_t size, auto separator) { + StyleValueVector values; + values.ensure_capacity(size); + for (size_t i = 0; i < size; ++i) + values.append(value); + return StyleValueList::create(move(values), separator); + }; + + NonnullRefPtr from_list = from; + NonnullRefPtr to_list = to; + if (!from.is_value_list() && to.is_value_list()) + from_list = make_single_value_list(from, to.as_value_list().size(), to.as_value_list().separator()); + else if (!to.is_value_list() && from.is_value_list()) + to_list = make_single_value_list(to, from.as_value_list().size(), to.as_value_list().separator()); + else if (!from.is_value_list() && !to.is_value_list()) + return interpolate_value(element, calculation_context, from, to, delta); + + StyleValueVector interpolated_values; + if (!make_repeatable_list(from_list->as_value_list(), to_list->as_value_list(), [&](auto const& value) { interpolated_values.append(value); })) + return delta >= 0.5f ? to : from; + return StyleValueList::create(move(interpolated_values), from_list->as_value_list().separator()); +} + } diff --git a/Libraries/LibWeb/CSS/Interpolation.h b/Libraries/LibWeb/CSS/Interpolation.h index d51666c6565..d178981026f 100644 --- a/Libraries/LibWeb/CSS/Interpolation.h +++ b/Libraries/LibWeb/CSS/Interpolation.h @@ -19,6 +19,7 @@ ValueComparingRefPtr interpolate_property(DOM::Element&, Pr bool property_values_are_transitionable(PropertyID, CSSStyleValue const& old_value, CSSStyleValue const& new_value); NonnullRefPtr interpolate_value(DOM::Element&, CalculationContext const&, CSSStyleValue const& from, CSSStyleValue const& to, float delta); +NonnullRefPtr interpolate_repeatable_list(DOM::Element&, CalculationContext const&, CSSStyleValue const& from, CSSStyleValue const& to, float delta); NonnullRefPtr interpolate_box_shadow(DOM::Element&, CalculationContext const&, CSSStyleValue const& from, CSSStyleValue const& to, float delta); RefPtr interpolate_transform(DOM::Element&, CSSStyleValue const& from, CSSStyleValue const& to, float delta); diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-interpolation.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-interpolation.txt index 427a398e90b..d61089dbe53 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-interpolation.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-interpolation.txt @@ -2,8 +2,8 @@ Harness status: OK Found 196 tests -14 Pass -182 Fail +40 Pass +156 Fail Fail CSS Transitions: property from neutral to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [30px 30px, 30px 30px, 30px 30px, 30px 30px] Fail CSS Transitions: property from neutral to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [40px 40px, 40px 40px, 40px 40px, 40px 40px] Fail CSS Transitions: property from neutral to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [50px 50px, 50px 50px, 50px 50px, 50px 50px] @@ -47,14 +47,14 @@ Fail CSS Transitions with transition: all: property from [ Fail CSS Transitions with transition: all: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px)] Fail CSS Transitions with transition: all: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px)] Fail CSS Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px)] -Fail CSS Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [0% 0%, 0% 0%, 0% 0%, 0% 0%] +Pass CSS Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [0% 0%, 0% 0%, 0% 0%, 0% 0%] Fail CSS Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px)] Fail CSS Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px)] Fail CSS Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px)] Fail CSS Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px)] Fail CSS Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px)] Fail Web Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px)] -Fail Web Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [0% 0%, 0% 0%, 0% 0%, 0% 0%] +Pass Web Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [0% 0%, 0% 0%, 0% 0%, 0% 0%] Fail Web Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px)] Fail Web Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px)] Fail Web Animations: property from [initial] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px)] @@ -74,20 +74,20 @@ Fail CSS Transitions with transition: all: property from [ Fail CSS Transitions with transition: all: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [75px 75px, 75px 75px, 75px 75px, 75px 75px] Pass CSS Transitions with transition: all: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [80px 80px, 80px 80px, 80px 80px, 80px 80px] Fail CSS Transitions with transition: all: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [85px 85px, 85px 85px, 85px 85px, 85px 85px] -Fail CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [55px 55px, 55px 55px, 55px 55px, 55px 55px] -Fail CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [60px 60px, 60px 60px, 60px 60px, 60px 60px] -Fail CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [65px 65px, 65px 65px, 65px 65px, 65px 65px] -Fail CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [70px 70px, 70px 70px, 70px 70px, 70px 70px] -Fail CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [75px 75px, 75px 75px, 75px 75px, 75px 75px] +Pass CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [55px 55px, 55px 55px, 55px 55px, 55px 55px] +Pass CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [60px 60px, 60px 60px, 60px 60px, 60px 60px] +Pass CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [65px 65px, 65px 65px, 65px 65px, 65px 65px] +Pass CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [70px 70px, 70px 70px, 70px 70px, 70px 70px] +Pass CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [75px 75px, 75px 75px, 75px 75px, 75px 75px] Pass CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [80px 80px, 80px 80px, 80px 80px, 80px 80px] -Fail CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [85px 85px, 85px 85px, 85px 85px, 85px 85px] -Fail Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [55px 55px, 55px 55px, 55px 55px, 55px 55px] -Fail Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [60px 60px, 60px 60px, 60px 60px, 60px 60px] -Fail Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [65px 65px, 65px 65px, 65px 65px, 65px 65px] -Fail Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [70px 70px, 70px 70px, 70px 70px, 70px 70px] -Fail Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [75px 75px, 75px 75px, 75px 75px, 75px 75px] +Pass CSS Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [85px 85px, 85px 85px, 85px 85px, 85px 85px] +Pass Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [55px 55px, 55px 55px, 55px 55px, 55px 55px] +Pass Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [60px 60px, 60px 60px, 60px 60px, 60px 60px] +Pass Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [65px 65px, 65px 65px, 65px 65px, 65px 65px] +Pass Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [70px 70px, 70px 70px, 70px 70px, 70px 70px] +Pass Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [75px 75px, 75px 75px, 75px 75px, 75px 75px] Pass Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [80px 80px, 80px 80px, 80px 80px, 80px 80px] -Fail Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [85px 85px, 85px 85px, 85px 85px, 85px 85px] +Pass Web Animations: property from [inherit] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [85px 85px, 85px 85px, 85px 85px, 85px 85px] Fail CSS Transitions: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px)] Fail CSS Transitions: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [0% 0%, 0% 0%, 0% 0%, 0% 0%] Fail CSS Transitions: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px)] @@ -103,14 +103,14 @@ Fail CSS Transitions with transition: all: property from [ Fail CSS Transitions with transition: all: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px)] Fail CSS Transitions with transition: all: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px)] Fail CSS Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px)] -Fail CSS Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [0% 0%, 0% 0%, 0% 0%, 0% 0%] +Pass CSS Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [0% 0%, 0% 0%, 0% 0%, 0% 0%] Fail CSS Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px)] Fail CSS Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px)] Fail CSS Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px)] Fail CSS Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px), calc(0% + 80px) calc(0% + 80px)] Fail CSS Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px), calc(0% + 100px) calc(0% + 100px)] Fail Web Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px), calc(0% - 20px) calc(0% - 20px)] -Fail Web Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [0% 0%, 0% 0%, 0% 0%, 0% 0%] +Pass Web Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [0% 0%, 0% 0%, 0% 0%, 0% 0%] Fail Web Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px), calc(0% + 20px) calc(0% + 20px)] Fail Web Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px), calc(0% + 40px) calc(0% + 40px)] Fail Web Animations: property from [unset] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px), calc(0% + 60px) calc(0% + 60px)] @@ -130,20 +130,20 @@ Fail CSS Transitions with transition: all: property from [ Fail CSS Transitions with transition: all: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] Pass CSS Transitions with transition: all: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] Fail CSS Transitions with transition: all: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] -Fail CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] +Pass CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] Pass CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] -Fail CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] -Fail CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] -Fail CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] +Pass CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] +Pass CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] +Pass CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] Pass CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] -Fail CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] -Fail Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] +Pass CSS Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] +Pass Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] Pass Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] -Fail Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] -Fail Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] -Fail Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] +Pass Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] +Pass Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] +Pass Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] Pass Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] -Fail Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] +Pass Web Animations: property from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] Fail CSS Transitions: property from [top 0px left 0px] to [left 80px top 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] Fail CSS Transitions: property from [top 0px left 0px] to [left 80px top 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] Fail CSS Transitions: property from [top 0px left 0px] to [left 80px top 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-origin-interpolation.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-origin-interpolation.txt index 0baf80675d3..5c2f8594513 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-origin-interpolation.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-origin-interpolation.txt @@ -2,8 +2,8 @@ Harness status: OK Found 280 tests -68 Pass -212 Fail +80 Pass +200 Fail Fail CSS Transitions: property from neutral to [left 20px top 20px] at (0) should be [10px 10px] Fail CSS Transitions: property from neutral to [left 20px top 20px] at (0.25) should be [12.5px 12.5px] Fail CSS Transitions: property from neutral to [left 20px top 20px] at (0.5) should be [15px 15px] @@ -55,14 +55,14 @@ Fail CSS Transitions with transition: all: property from [ Fail CSS Transitions with transition: all: property from [inherit] to [left 20px top 20px] at (0.75) should be [35px 35px] Pass CSS Transitions with transition: all: property from [inherit] to [left 20px top 20px] at (1) should be [20px 20px] Pass CSS Animations: property from [inherit] to [left 20px top 20px] at (0) should be [80px 80px] -Fail CSS Animations: property from [inherit] to [left 20px top 20px] at (0.25) should be [65px 65px] -Fail CSS Animations: property from [inherit] to [left 20px top 20px] at (0.5) should be [50px 50px] -Fail CSS Animations: property from [inherit] to [left 20px top 20px] at (0.75) should be [35px 35px] +Pass CSS Animations: property from [inherit] to [left 20px top 20px] at (0.25) should be [65px 65px] +Pass CSS Animations: property from [inherit] to [left 20px top 20px] at (0.5) should be [50px 50px] +Pass CSS Animations: property from [inherit] to [left 20px top 20px] at (0.75) should be [35px 35px] Pass CSS Animations: property from [inherit] to [left 20px top 20px] at (1) should be [20px 20px] Pass Web Animations: property from [inherit] to [left 20px top 20px] at (0) should be [80px 80px] -Fail Web Animations: property from [inherit] to [left 20px top 20px] at (0.25) should be [65px 65px] -Fail Web Animations: property from [inherit] to [left 20px top 20px] at (0.5) should be [50px 50px] -Fail Web Animations: property from [inherit] to [left 20px top 20px] at (0.75) should be [35px 35px] +Pass Web Animations: property from [inherit] to [left 20px top 20px] at (0.25) should be [65px 65px] +Pass Web Animations: property from [inherit] to [left 20px top 20px] at (0.5) should be [50px 50px] +Pass Web Animations: property from [inherit] to [left 20px top 20px] at (0.75) should be [35px 35px] Pass Web Animations: property from [inherit] to [left 20px top 20px] at (1) should be [20px 20px] Fail CSS Transitions: property from [unset] to [left 20px top 20px] at (0) should be [0% 0%] Fail CSS Transitions: property from [unset] to [left 20px top 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] @@ -275,12 +275,12 @@ Fail CSS Transitions with transition: all: property from [ Fail CSS Transitions with transition: all: property from [center] to [bottom] at (0.75) should be [50% 87.5%] Pass CSS Transitions with transition: all: property from [center] to [bottom] at (1) should be [50% 100%] Pass CSS Animations: property from [center] to [bottom] at (0) should be [50% 50%] -Fail CSS Animations: property from [center] to [bottom] at (0.25) should be [50% 62.5%] -Fail CSS Animations: property from [center] to [bottom] at (0.5) should be [50% 75%] -Fail CSS Animations: property from [center] to [bottom] at (0.75) should be [50% 87.5%] +Pass CSS Animations: property from [center] to [bottom] at (0.25) should be [50% 62.5%] +Pass CSS Animations: property from [center] to [bottom] at (0.5) should be [50% 75%] +Pass CSS Animations: property from [center] to [bottom] at (0.75) should be [50% 87.5%] Pass CSS Animations: property from [center] to [bottom] at (1) should be [50% 100%] Pass Web Animations: property from [center] to [bottom] at (0) should be [50% 50%] -Fail Web Animations: property from [center] to [bottom] at (0.25) should be [50% 62.5%] -Fail Web Animations: property from [center] to [bottom] at (0.5) should be [50% 75%] -Fail Web Animations: property from [center] to [bottom] at (0.75) should be [50% 87.5%] +Pass Web Animations: property from [center] to [bottom] at (0.25) should be [50% 62.5%] +Pass Web Animations: property from [center] to [bottom] at (0.5) should be [50% 75%] +Pass Web Animations: property from [center] to [bottom] at (0.75) should be [50% 87.5%] Pass Web Animations: property from [center] to [bottom] at (1) should be [50% 100%] \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-x-interpolation.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-x-interpolation.txt index 0c8f38f3e5b..10461e21208 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-x-interpolation.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-x-interpolation.txt @@ -2,8 +2,8 @@ Harness status: OK Found 112 tests -16 Pass -96 Fail +50 Pass +62 Fail Fail CSS Transitions: property from neutral to [80px] at (-0.25) should be [30px] Fail CSS Transitions: property from neutral to [80px] at (0) should be [40px] Fail CSS Transitions: property from neutral to [80px] at (0.25) should be [50px] @@ -46,20 +46,20 @@ Fail CSS Transitions with transition: all: property from Fail CSS Transitions with transition: all: property from [initial] to [right] at (0.75) should be [75%] Pass CSS Transitions with transition: all: property from [initial] to [right] at (1) should be [100%] Fail CSS Transitions with transition: all: property from [initial] to [right] at (1.25) should be [125%] -Fail CSS Animations: property from [initial] to [right] at (-0.25) should be [-25%] +Pass CSS Animations: property from [initial] to [right] at (-0.25) should be [-25%] Pass CSS Animations: property from [initial] to [right] at (0) should be [0%] -Fail CSS Animations: property from [initial] to [right] at (0.25) should be [25%] -Fail CSS Animations: property from [initial] to [right] at (0.5) should be [50%] -Fail CSS Animations: property from [initial] to [right] at (0.75) should be [75%] +Pass CSS Animations: property from [initial] to [right] at (0.25) should be [25%] +Pass CSS Animations: property from [initial] to [right] at (0.5) should be [50%] +Pass CSS Animations: property from [initial] to [right] at (0.75) should be [75%] Pass CSS Animations: property from [initial] to [right] at (1) should be [100%] -Fail CSS Animations: property from [initial] to [right] at (1.25) should be [125%] -Fail Web Animations: property from [initial] to [right] at (-0.25) should be [-25%] +Pass CSS Animations: property from [initial] to [right] at (1.25) should be [125%] +Pass Web Animations: property from [initial] to [right] at (-0.25) should be [-25%] Pass Web Animations: property from [initial] to [right] at (0) should be [0%] -Fail Web Animations: property from [initial] to [right] at (0.25) should be [25%] -Fail Web Animations: property from [initial] to [right] at (0.5) should be [50%] -Fail Web Animations: property from [initial] to [right] at (0.75) should be [75%] +Pass Web Animations: property from [initial] to [right] at (0.25) should be [25%] +Pass Web Animations: property from [initial] to [right] at (0.5) should be [50%] +Pass Web Animations: property from [initial] to [right] at (0.75) should be [75%] Pass Web Animations: property from [initial] to [right] at (1) should be [100%] -Fail Web Animations: property from [initial] to [right] at (1.25) should be [125%] +Pass Web Animations: property from [initial] to [right] at (1.25) should be [125%] Fail CSS Transitions: property from [inherit] to [80px] at (-0.25) should be [55px] Fail CSS Transitions: property from [inherit] to [80px] at (0) should be [60px] Fail CSS Transitions: property from [inherit] to [80px] at (0.25) should be [65px] @@ -74,20 +74,20 @@ Fail CSS Transitions with transition: all: property from Fail CSS Transitions with transition: all: property from [inherit] to [80px] at (0.75) should be [75px] Pass CSS Transitions with transition: all: property from [inherit] to [80px] at (1) should be [80px] Fail CSS Transitions with transition: all: property from [inherit] to [80px] at (1.25) should be [85px] -Fail CSS Animations: property from [inherit] to [80px] at (-0.25) should be [55px] +Pass CSS Animations: property from [inherit] to [80px] at (-0.25) should be [55px] Pass CSS Animations: property from [inherit] to [80px] at (0) should be [60px] -Fail CSS Animations: property from [inherit] to [80px] at (0.25) should be [65px] -Fail CSS Animations: property from [inherit] to [80px] at (0.5) should be [70px] -Fail CSS Animations: property from [inherit] to [80px] at (0.75) should be [75px] +Pass CSS Animations: property from [inherit] to [80px] at (0.25) should be [65px] +Pass CSS Animations: property from [inherit] to [80px] at (0.5) should be [70px] +Pass CSS Animations: property from [inherit] to [80px] at (0.75) should be [75px] Pass CSS Animations: property from [inherit] to [80px] at (1) should be [80px] -Fail CSS Animations: property from [inherit] to [80px] at (1.25) should be [85px] -Fail Web Animations: property from [inherit] to [80px] at (-0.25) should be [55px] +Pass CSS Animations: property from [inherit] to [80px] at (1.25) should be [85px] +Pass Web Animations: property from [inherit] to [80px] at (-0.25) should be [55px] Pass Web Animations: property from [inherit] to [80px] at (0) should be [60px] -Fail Web Animations: property from [inherit] to [80px] at (0.25) should be [65px] -Fail Web Animations: property from [inherit] to [80px] at (0.5) should be [70px] -Fail Web Animations: property from [inherit] to [80px] at (0.75) should be [75px] +Pass Web Animations: property from [inherit] to [80px] at (0.25) should be [65px] +Pass Web Animations: property from [inherit] to [80px] at (0.5) should be [70px] +Pass Web Animations: property from [inherit] to [80px] at (0.75) should be [75px] Pass Web Animations: property from [inherit] to [80px] at (1) should be [80px] -Fail Web Animations: property from [inherit] to [80px] at (1.25) should be [85px] +Pass Web Animations: property from [inherit] to [80px] at (1.25) should be [85px] Fail CSS Transitions: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] Fail CSS Transitions: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] Fail CSS Transitions: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] @@ -102,17 +102,17 @@ Fail CSS Transitions with transition: all: property from Fail CSS Transitions with transition: all: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] Fail CSS Transitions with transition: all: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] Fail CSS Transitions with transition: all: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.5) should be [400px, 500px, 500px, 450px, 450px, 550px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.5) should be [400px, 500px, 500px, 450px, 450px, 550px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] \ No newline at end of file +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.5) should be [400px, 500px, 500px, 450px, 450px, 550px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.5) should be [400px, 500px, 500px, 450px, 450px, 550px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-y-interpolation.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-y-interpolation.txt index 15c1002daf8..49c24521d8a 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-y-interpolation.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-backgrounds/animations/background-position-y-interpolation.txt @@ -2,8 +2,8 @@ Harness status: OK Found 112 tests -16 Pass -96 Fail +50 Pass +62 Fail Fail CSS Transitions: property from neutral to [80px] at (-0.25) should be [30px] Fail CSS Transitions: property from neutral to [80px] at (0) should be [40px] Fail CSS Transitions: property from neutral to [80px] at (0.25) should be [50px] @@ -46,20 +46,20 @@ Fail CSS Transitions with transition: all: property from Fail CSS Transitions with transition: all: property from [initial] to [bottom] at (0.75) should be [75%] Pass CSS Transitions with transition: all: property from [initial] to [bottom] at (1) should be [100%] Fail CSS Transitions with transition: all: property from [initial] to [bottom] at (1.25) should be [125%] -Fail CSS Animations: property from [initial] to [bottom] at (-0.25) should be [-25%] +Pass CSS Animations: property from [initial] to [bottom] at (-0.25) should be [-25%] Pass CSS Animations: property from [initial] to [bottom] at (0) should be [0%] -Fail CSS Animations: property from [initial] to [bottom] at (0.25) should be [25%] -Fail CSS Animations: property from [initial] to [bottom] at (0.5) should be [50%] -Fail CSS Animations: property from [initial] to [bottom] at (0.75) should be [75%] +Pass CSS Animations: property from [initial] to [bottom] at (0.25) should be [25%] +Pass CSS Animations: property from [initial] to [bottom] at (0.5) should be [50%] +Pass CSS Animations: property from [initial] to [bottom] at (0.75) should be [75%] Pass CSS Animations: property from [initial] to [bottom] at (1) should be [100%] -Fail CSS Animations: property from [initial] to [bottom] at (1.25) should be [125%] -Fail Web Animations: property from [initial] to [bottom] at (-0.25) should be [-25%] +Pass CSS Animations: property from [initial] to [bottom] at (1.25) should be [125%] +Pass Web Animations: property from [initial] to [bottom] at (-0.25) should be [-25%] Pass Web Animations: property from [initial] to [bottom] at (0) should be [0%] -Fail Web Animations: property from [initial] to [bottom] at (0.25) should be [25%] -Fail Web Animations: property from [initial] to [bottom] at (0.5) should be [50%] -Fail Web Animations: property from [initial] to [bottom] at (0.75) should be [75%] +Pass Web Animations: property from [initial] to [bottom] at (0.25) should be [25%] +Pass Web Animations: property from [initial] to [bottom] at (0.5) should be [50%] +Pass Web Animations: property from [initial] to [bottom] at (0.75) should be [75%] Pass Web Animations: property from [initial] to [bottom] at (1) should be [100%] -Fail Web Animations: property from [initial] to [bottom] at (1.25) should be [125%] +Pass Web Animations: property from [initial] to [bottom] at (1.25) should be [125%] Fail CSS Transitions: property from [inherit] to [80px] at (-0.25) should be [55px] Fail CSS Transitions: property from [inherit] to [80px] at (0) should be [60px] Fail CSS Transitions: property from [inherit] to [80px] at (0.25) should be [65px] @@ -74,20 +74,20 @@ Fail CSS Transitions with transition: all: property from Fail CSS Transitions with transition: all: property from [inherit] to [80px] at (0.75) should be [75px] Pass CSS Transitions with transition: all: property from [inherit] to [80px] at (1) should be [80px] Fail CSS Transitions with transition: all: property from [inherit] to [80px] at (1.25) should be [85px] -Fail CSS Animations: property from [inherit] to [80px] at (-0.25) should be [55px] +Pass CSS Animations: property from [inherit] to [80px] at (-0.25) should be [55px] Pass CSS Animations: property from [inherit] to [80px] at (0) should be [60px] -Fail CSS Animations: property from [inherit] to [80px] at (0.25) should be [65px] -Fail CSS Animations: property from [inherit] to [80px] at (0.5) should be [70px] -Fail CSS Animations: property from [inherit] to [80px] at (0.75) should be [75px] +Pass CSS Animations: property from [inherit] to [80px] at (0.25) should be [65px] +Pass CSS Animations: property from [inherit] to [80px] at (0.5) should be [70px] +Pass CSS Animations: property from [inherit] to [80px] at (0.75) should be [75px] Pass CSS Animations: property from [inherit] to [80px] at (1) should be [80px] -Fail CSS Animations: property from [inherit] to [80px] at (1.25) should be [85px] -Fail Web Animations: property from [inherit] to [80px] at (-0.25) should be [55px] +Pass CSS Animations: property from [inherit] to [80px] at (1.25) should be [85px] +Pass Web Animations: property from [inherit] to [80px] at (-0.25) should be [55px] Pass Web Animations: property from [inherit] to [80px] at (0) should be [60px] -Fail Web Animations: property from [inherit] to [80px] at (0.25) should be [65px] -Fail Web Animations: property from [inherit] to [80px] at (0.5) should be [70px] -Fail Web Animations: property from [inherit] to [80px] at (0.75) should be [75px] +Pass Web Animations: property from [inherit] to [80px] at (0.25) should be [65px] +Pass Web Animations: property from [inherit] to [80px] at (0.5) should be [70px] +Pass Web Animations: property from [inherit] to [80px] at (0.75) should be [75px] Pass Web Animations: property from [inherit] to [80px] at (1) should be [80px] -Fail Web Animations: property from [inherit] to [80px] at (1.25) should be [85px] +Pass Web Animations: property from [inherit] to [80px] at (1.25) should be [85px] Fail CSS Transitions: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] Fail CSS Transitions: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] Fail CSS Transitions: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] @@ -102,17 +102,17 @@ Fail CSS Transitions with transition: all: property from Fail CSS Transitions with transition: all: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] Fail CSS Transitions with transition: all: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] Fail CSS Transitions with transition: all: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.5) should be [400px, 500px, 500px, 450px, 450px, 550px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] -Fail CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.5) should be [400px, 500px, 500px, 450px, 450px, 550px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] -Fail Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] \ No newline at end of file +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.5) should be [400px, 500px, 500px, 450px, 450px, 550px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] +Pass CSS Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (-0.25) should be [250px, 350px, 200px, 375px, 225px, 325px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0) should be [300px, 400px, 300px, 400px, 300px, 400px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.25) should be [350px, 450px, 400px, 425px, 375px, 475px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.5) should be [400px, 500px, 500px, 450px, 450px, 550px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (0.75) should be [450px, 550px, 600px, 475px, 525px, 625px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1) should be [500px, 600px, 700px, 500px, 600px, 700px] +Pass Web Animations: property from [300px, 400px] to [500px, 600px, 700px] at (1.25) should be [550px, 650px, 800px, 525px, 675px, 775px] \ No newline at end of file diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-images/animation/object-position-interpolation.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-images/animation/object-position-interpolation.txt new file mode 100644 index 00000000000..2e51d84871f --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-images/animation/object-position-interpolation.txt @@ -0,0 +1,118 @@ +Harness status: OK + +Found 112 tests + +64 Pass +48 Fail +Fail CSS Transitions: property from neutral to [left top] at (-0.25) should be [62.5% 62.5%] +Fail CSS Transitions: property from neutral to [left top] at (0) should be [50% 50%] +Fail CSS Transitions: property from neutral to [left top] at (0.25) should be [37.5% 37.5%] +Fail CSS Transitions: property from neutral to [left top] at (0.5) should be [25% 25%] +Fail CSS Transitions: property from neutral to [left top] at (0.75) should be [12.5% 12.5%] +Pass CSS Transitions: property from neutral to [left top] at (1) should be [0% 0%] +Fail CSS Transitions: property from neutral to [left top] at (1.25) should be [-12.5% -12.5%] +Fail CSS Transitions with transition: all: property from neutral to [left top] at (-0.25) should be [62.5% 62.5%] +Fail CSS Transitions with transition: all: property from neutral to [left top] at (0) should be [50% 50%] +Fail CSS Transitions with transition: all: property from neutral to [left top] at (0.25) should be [37.5% 37.5%] +Fail CSS Transitions with transition: all: property from neutral to [left top] at (0.5) should be [25% 25%] +Fail CSS Transitions with transition: all: property from neutral to [left top] at (0.75) should be [12.5% 12.5%] +Pass CSS Transitions with transition: all: property from neutral to [left top] at (1) should be [0% 0%] +Fail CSS Transitions with transition: all: property from neutral to [left top] at (1.25) should be [-12.5% -12.5%] +Pass CSS Animations: property from neutral to [left top] at (-0.25) should be [62.5% 62.5%] +Pass CSS Animations: property from neutral to [left top] at (0) should be [50% 50%] +Pass CSS Animations: property from neutral to [left top] at (0.25) should be [37.5% 37.5%] +Pass CSS Animations: property from neutral to [left top] at (0.5) should be [25% 25%] +Pass CSS Animations: property from neutral to [left top] at (0.75) should be [12.5% 12.5%] +Pass CSS Animations: property from neutral to [left top] at (1) should be [0% 0%] +Pass CSS Animations: property from neutral to [left top] at (1.25) should be [-12.5% -12.5%] +Pass Web Animations: property from neutral to [left top] at (-0.25) should be [62.5% 62.5%] +Pass Web Animations: property from neutral to [left top] at (0) should be [50% 50%] +Pass Web Animations: property from neutral to [left top] at (0.25) should be [37.5% 37.5%] +Pass Web Animations: property from neutral to [left top] at (0.5) should be [25% 25%] +Pass Web Animations: property from neutral to [left top] at (0.75) should be [12.5% 12.5%] +Pass Web Animations: property from neutral to [left top] at (1) should be [0% 0%] +Pass Web Animations: property from neutral to [left top] at (1.25) should be [-12.5% -12.5%] +Fail CSS Transitions: property from [initial] to [center top] at (-0.25) should be [50% 62.5%] +Fail CSS Transitions: property from [initial] to [center top] at (0) should be [50% 50%] +Fail CSS Transitions: property from [initial] to [center top] at (0.25) should be [50% 37.5%] +Fail CSS Transitions: property from [initial] to [center top] at (0.5) should be [50% 25%] +Fail CSS Transitions: property from [initial] to [center top] at (0.75) should be [50% 12.5%] +Pass CSS Transitions: property from [initial] to [center top] at (1) should be [50% 0%] +Fail CSS Transitions: property from [initial] to [center top] at (1.25) should be [50% -12.5%] +Fail CSS Transitions with transition: all: property from [initial] to [center top] at (-0.25) should be [50% 62.5%] +Fail CSS Transitions with transition: all: property from [initial] to [center top] at (0) should be [50% 50%] +Fail CSS Transitions with transition: all: property from [initial] to [center top] at (0.25) should be [50% 37.5%] +Fail CSS Transitions with transition: all: property from [initial] to [center top] at (0.5) should be [50% 25%] +Fail CSS Transitions with transition: all: property from [initial] to [center top] at (0.75) should be [50% 12.5%] +Pass CSS Transitions with transition: all: property from [initial] to [center top] at (1) should be [50% 0%] +Fail CSS Transitions with transition: all: property from [initial] to [center top] at (1.25) should be [50% -12.5%] +Pass CSS Animations: property from [initial] to [center top] at (-0.25) should be [50% 62.5%] +Pass CSS Animations: property from [initial] to [center top] at (0) should be [50% 50%] +Pass CSS Animations: property from [initial] to [center top] at (0.25) should be [50% 37.5%] +Pass CSS Animations: property from [initial] to [center top] at (0.5) should be [50% 25%] +Pass CSS Animations: property from [initial] to [center top] at (0.75) should be [50% 12.5%] +Pass CSS Animations: property from [initial] to [center top] at (1) should be [50% 0%] +Pass CSS Animations: property from [initial] to [center top] at (1.25) should be [50% -12.5%] +Pass Web Animations: property from [initial] to [center top] at (-0.25) should be [50% 62.5%] +Pass Web Animations: property from [initial] to [center top] at (0) should be [50% 50%] +Pass Web Animations: property from [initial] to [center top] at (0.25) should be [50% 37.5%] +Pass Web Animations: property from [initial] to [center top] at (0.5) should be [50% 25%] +Pass Web Animations: property from [initial] to [center top] at (0.75) should be [50% 12.5%] +Pass Web Animations: property from [initial] to [center top] at (1) should be [50% 0%] +Pass Web Animations: property from [initial] to [center top] at (1.25) should be [50% -12.5%] +Fail CSS Transitions: property from [initial] to [left center] at (-0.25) should be [62.5% 50%] +Fail CSS Transitions: property from [initial] to [left center] at (0) should be [50% 50%] +Fail CSS Transitions: property from [initial] to [left center] at (0.25) should be [37.5% 50%] +Fail CSS Transitions: property from [initial] to [left center] at (0.5) should be [25% 50%] +Fail CSS Transitions: property from [initial] to [left center] at (0.75) should be [12.5% 50%] +Pass CSS Transitions: property from [initial] to [left center] at (1) should be [0% 50%] +Fail CSS Transitions: property from [initial] to [left center] at (1.25) should be [-12.5% 50%] +Fail CSS Transitions with transition: all: property from [initial] to [left center] at (-0.25) should be [62.5% 50%] +Fail CSS Transitions with transition: all: property from [initial] to [left center] at (0) should be [50% 50%] +Fail CSS Transitions with transition: all: property from [initial] to [left center] at (0.25) should be [37.5% 50%] +Fail CSS Transitions with transition: all: property from [initial] to [left center] at (0.5) should be [25% 50%] +Fail CSS Transitions with transition: all: property from [initial] to [left center] at (0.75) should be [12.5% 50%] +Pass CSS Transitions with transition: all: property from [initial] to [left center] at (1) should be [0% 50%] +Fail CSS Transitions with transition: all: property from [initial] to [left center] at (1.25) should be [-12.5% 50%] +Pass CSS Animations: property from [initial] to [left center] at (-0.25) should be [62.5% 50%] +Pass CSS Animations: property from [initial] to [left center] at (0) should be [50% 50%] +Pass CSS Animations: property from [initial] to [left center] at (0.25) should be [37.5% 50%] +Pass CSS Animations: property from [initial] to [left center] at (0.5) should be [25% 50%] +Pass CSS Animations: property from [initial] to [left center] at (0.75) should be [12.5% 50%] +Pass CSS Animations: property from [initial] to [left center] at (1) should be [0% 50%] +Pass CSS Animations: property from [initial] to [left center] at (1.25) should be [-12.5% 50%] +Pass Web Animations: property from [initial] to [left center] at (-0.25) should be [62.5% 50%] +Pass Web Animations: property from [initial] to [left center] at (0) should be [50% 50%] +Pass Web Animations: property from [initial] to [left center] at (0.25) should be [37.5% 50%] +Pass Web Animations: property from [initial] to [left center] at (0.5) should be [25% 50%] +Pass Web Animations: property from [initial] to [left center] at (0.75) should be [12.5% 50%] +Pass Web Animations: property from [initial] to [left center] at (1) should be [0% 50%] +Pass Web Animations: property from [initial] to [left center] at (1.25) should be [-12.5% 50%] +Fail CSS Transitions: property from [20px 20px] to [100px 100px] at (-0.25) should be [0px 0px] +Fail CSS Transitions: property from [20px 20px] to [100px 100px] at (0) should be [20px 20px] +Fail CSS Transitions: property from [20px 20px] to [100px 100px] at (0.25) should be [40px 40px] +Fail CSS Transitions: property from [20px 20px] to [100px 100px] at (0.5) should be [60px 60px] +Fail CSS Transitions: property from [20px 20px] to [100px 100px] at (0.75) should be [80px 80px] +Pass CSS Transitions: property from [20px 20px] to [100px 100px] at (1) should be [100px 100px] +Fail CSS Transitions: property from [20px 20px] to [100px 100px] at (1.25) should be [120px 120px] +Fail CSS Transitions with transition: all: property from [20px 20px] to [100px 100px] at (-0.25) should be [0px 0px] +Fail CSS Transitions with transition: all: property from [20px 20px] to [100px 100px] at (0) should be [20px 20px] +Fail CSS Transitions with transition: all: property from [20px 20px] to [100px 100px] at (0.25) should be [40px 40px] +Fail CSS Transitions with transition: all: property from [20px 20px] to [100px 100px] at (0.5) should be [60px 60px] +Fail CSS Transitions with transition: all: property from [20px 20px] to [100px 100px] at (0.75) should be [80px 80px] +Pass CSS Transitions with transition: all: property from [20px 20px] to [100px 100px] at (1) should be [100px 100px] +Fail CSS Transitions with transition: all: property from [20px 20px] to [100px 100px] at (1.25) should be [120px 120px] +Pass CSS Animations: property from [20px 20px] to [100px 100px] at (-0.25) should be [0px 0px] +Pass CSS Animations: property from [20px 20px] to [100px 100px] at (0) should be [20px 20px] +Pass CSS Animations: property from [20px 20px] to [100px 100px] at (0.25) should be [40px 40px] +Pass CSS Animations: property from [20px 20px] to [100px 100px] at (0.5) should be [60px 60px] +Pass CSS Animations: property from [20px 20px] to [100px 100px] at (0.75) should be [80px 80px] +Pass CSS Animations: property from [20px 20px] to [100px 100px] at (1) should be [100px 100px] +Pass CSS Animations: property from [20px 20px] to [100px 100px] at (1.25) should be [120px 120px] +Pass Web Animations: property from [20px 20px] to [100px 100px] at (-0.25) should be [0px 0px] +Pass Web Animations: property from [20px 20px] to [100px 100px] at (0) should be [20px 20px] +Pass Web Animations: property from [20px 20px] to [100px 100px] at (0.25) should be [40px 40px] +Pass Web Animations: property from [20px 20px] to [100px 100px] at (0.5) should be [60px 60px] +Pass Web Animations: property from [20px 20px] to [100px 100px] at (0.75) should be [80px 80px] +Pass Web Animations: property from [20px 20px] to [100px 100px] at (1) should be [100px 100px] +Pass Web Animations: property from [20px 20px] to [100px 100px] at (1.25) should be [120px 120px] \ No newline at end of file diff --git a/Tests/LibWeb/Text/input/wpt-import/css/css-images/animation/object-position-interpolation.html b/Tests/LibWeb/Text/input/wpt-import/css/css-images/animation/object-position-interpolation.html new file mode 100644 index 00000000000..3a806706566 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/css-images/animation/object-position-interpolation.html @@ -0,0 +1,72 @@ + + + + + + + + + + + +