diff --git a/Libraries/LibWeb/CSS/Interpolation.cpp b/Libraries/LibWeb/CSS/Interpolation.cpp index 47d88f006ed..1747fc54792 100644 --- a/Libraries/LibWeb/CSS/Interpolation.cpp +++ b/Libraries/LibWeb/CSS/Interpolation.cpp @@ -572,8 +572,9 @@ NonnullRefPtr interpolate_value(DOM::Element& element, CSSS case CSSStyleValue::Type::Integer: return IntegerStyleValue::create(interpolate_raw(from.as_integer().integer(), to.as_integer().integer(), delta)); case CSSStyleValue::Type::Length: { - auto& from_length = from.as_length().length(); - auto& to_length = to.as_length().length(); + // FIXME: Absolutize values + auto const& from_length = from.as_length().length(); + auto const& to_length = to.as_length().length(); return LengthStyleValue::create(Length(interpolate_raw(from_length.raw_value(), to_length.raw_value(), delta), from_length.type())); } case CSSStyleValue::Type::Number: @@ -583,8 +584,8 @@ NonnullRefPtr interpolate_value(DOM::Element& element, CSSS case CSSStyleValue::Type::Position: { // https://www.w3.org/TR/css-values-4/#combine-positions // FIXME: Interpolation of is defined as the independent interpolation of each component (x, y) normalized as an offset from the top left corner as a . - auto& from_position = from.as_position(); - auto& to_position = to.as_position(); + auto const& from_position = from.as_position(); + auto const& to_position = to.as_position(); return PositionStyleValue::create( interpolate_value(element, from_position.edge_x(), to_position.edge_x(), delta)->as_edge(), interpolate_value(element, from_position.edge_y(), to_position.edge_y(), delta)->as_edge()); @@ -606,6 +607,12 @@ NonnullRefPtr interpolate_value(DOM::Element& element, CSSS case CSSStyleValue::Type::Rect: { auto from_rect = from.as_rect().rect(); auto to_rect = to.as_rect().rect(); + + if (from_rect.top_edge.is_auto() != to_rect.top_edge.is_auto() || from_rect.right_edge.is_auto() != to_rect.right_edge.is_auto() || from_rect.bottom_edge.is_auto() != to_rect.bottom_edge.is_auto() || from_rect.left_edge.is_auto() != to_rect.left_edge.is_auto()) { + return delta >= 0.5f ? to : from; + } + + // FIXME: Absolutize values return RectStyleValue::create({ Length(interpolate_raw(from_rect.top_edge.raw_value(), to_rect.top_edge.raw_value(), delta), from_rect.top_edge.type()), Length(interpolate_raw(from_rect.right_edge.raw_value(), to_rect.right_edge.raw_value(), delta), from_rect.right_edge.type()), @@ -616,11 +623,14 @@ NonnullRefPtr interpolate_value(DOM::Element& element, CSSS case CSSStyleValue::Type::Transformation: VERIFY_NOT_REACHED(); case CSSStyleValue::Type::ValueList: { - auto& from_list = from.as_value_list(); - auto& to_list = to.as_value_list(); + auto const& from_list = from.as_value_list(); + auto const& to_list = to.as_value_list(); if (from_list.size() != to_list.size()) - return from; + return delta >= 0.5f ? to : from; + // FIXME: 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. StyleValueVector interpolated_values; interpolated_values.ensure_capacity(from_list.size()); for (size_t i = 0; i < from_list.size(); ++i) @@ -629,7 +639,7 @@ NonnullRefPtr interpolate_value(DOM::Element& element, CSSS return StyleValueList::create(move(interpolated_values), from_list.separator()); } default: - return from; + return delta >= 0.5f ? to : from; } } diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-masking/animations/clip-interpolation.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-masking/animations/clip-interpolation.txt new file mode 100644 index 00000000000..62704690f84 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-masking/animations/clip-interpolation.txt @@ -0,0 +1,335 @@ +Summary + +Harness status: OK + +Rerun + +Found 324 tests + +248 Pass +76 Fail +Details +Result Test Name MessageFail CSS Transitions: property from neutral to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(-20px 180px -20px 180px)] +Fail CSS Transitions: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(0px 100px 0px 100px)] +Fail CSS Transitions: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(5px 80px 5px 80px)] +Fail CSS Transitions: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(15px 40px 15px 40px)] +Pass CSS Transitions: property from neutral to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)] +Fail CSS Transitions: property from neutral to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(40px -60px 40px -60px)] +Fail CSS Transitions with transition: all: property from neutral to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(-20px 180px -20px 180px)] +Fail CSS Transitions with transition: all: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(0px 100px 0px 100px)] +Fail CSS Transitions with transition: all: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(5px 80px 5px 80px)] +Fail CSS Transitions with transition: all: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(15px 40px 15px 40px)] +Pass CSS Transitions with transition: all: property from neutral to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)] +Fail CSS Transitions with transition: all: property from neutral to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(40px -60px 40px -60px)] +Fail CSS Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(-20px 180px -20px 180px)] +Fail CSS Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(0px 100px 0px 100px)] +Fail CSS Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(5px 80px 5px 80px)] +Fail CSS Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(15px 40px 15px 40px)] +Pass CSS Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)] +Fail CSS Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(40px -60px 40px -60px)] +Fail Web Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(-20px 180px -20px 180px)] +Fail Web Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(0px 100px 0px 100px)] +Fail Web Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(5px 80px 5px 80px)] +Fail Web Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(15px 40px 15px 40px)] +Pass Web Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)] +Fail Web Animations: property from neutral to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(40px -60px 40px -60px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [initial] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [initial] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [initial] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [initial] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [initial] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [initial] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [initial] +Pass CSS Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [initial] +Pass CSS Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [initial] +Pass CSS Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Pass Web Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [initial] +Pass Web Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0) should be [initial] +Pass Web Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [initial] +Pass Web Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass Web Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass Web Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass Web Animations: property from [initial] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Fail CSS Transitions: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(180px -20px 180px -20px)] +Fail CSS Transitions: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(100px 0px 100px 0px)] +Fail CSS Transitions: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(80px 5px 80px 5px)] +Fail CSS Transitions: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(40px 15px 40px 15px)] +Pass CSS Transitions: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)] +Fail CSS Transitions: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(-60px 40px -60px 40px)] +Fail CSS Transitions with transition: all: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(180px -20px 180px -20px)] +Fail CSS Transitions with transition: all: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(100px 0px 100px 0px)] +Fail CSS Transitions with transition: all: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(80px 5px 80px 5px)] +Fail CSS Transitions with transition: all: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(40px 15px 40px 15px)] +Pass CSS Transitions with transition: all: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)] +Fail CSS Transitions with transition: all: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(-60px 40px -60px 40px)] +Pass CSS Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(180px -20px 180px -20px)] +Pass CSS Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(100px 0px 100px 0px)] +Pass CSS Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(80px 5px 80px 5px)] +Pass CSS Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(40px 15px 40px 15px)] +Pass CSS Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)] +Pass CSS Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(-60px 40px -60px 40px)] +Pass Web Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (-1) should be [rect(180px -20px 180px -20px)] +Pass Web Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(100px 0px 100px 0px)] +Pass Web Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.25) should be [rect(80px 5px 80px 5px)] +Pass Web Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (0.75) should be [rect(40px 15px 40px 15px)] +Pass Web Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px 20px 20px 20px)] +Pass Web Animations: property from [inherit] to [rect(20px, 20px, 20px, 20px)] at (2) should be [rect(-60px 40px -60px 40px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [unset] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [unset] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [unset] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [unset] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [unset] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [unset] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Transitions with transition: all: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [unset] +Pass CSS Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [unset] +Pass CSS Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [unset] +Pass CSS Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass CSS Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Pass Web Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (-0.3) should be [unset] +Pass Web Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0) should be [unset] +Pass Web Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.3) should be [unset] +Pass Web Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.5) should be [rect(20px, 20px, 20px, 20px)] +Pass Web Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (0.6) should be [rect(20px, 20px, 20px, 20px)] +Pass Web Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1) should be [rect(20px, 20px, 20px, 20px)] +Pass Web Animations: property from [unset] to [rect(20px, 20px, 20px, 20px)] at (1.5) should be [rect(20px, 20px, 20px, 20px)] +Fail CSS Transitions: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (-1) should be [rect(0px, 50px, 70px, 15px)] +Fail CSS Transitions: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0) should be [rect(0px, 75px, 80px, 10px)] +Fail CSS Transitions: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.25) should be [rect(0px, 81.25px, 82.5px, 8.75px)] +Fail CSS Transitions: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.75) should be [rect(0px, 93.75px, 87.5px, 6.25px)] +Pass CSS Transitions: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (1) should be [rect(0px, 100px, 90px, 5px)] +Fail CSS Transitions: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (2) should be [rect(0px, 125px, 100px, 0px)] +Fail CSS Transitions with transition: all: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (-1) should be [rect(0px, 50px, 70px, 15px)] +Fail CSS Transitions with transition: all: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0) should be [rect(0px, 75px, 80px, 10px)] +Fail CSS Transitions with transition: all: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.25) should be [rect(0px, 81.25px, 82.5px, 8.75px)] +Fail CSS Transitions with transition: all: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.75) should be [rect(0px, 93.75px, 87.5px, 6.25px)] +Pass CSS Transitions with transition: all: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (1) should be [rect(0px, 100px, 90px, 5px)] +Fail CSS Transitions with transition: all: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (2) should be [rect(0px, 125px, 100px, 0px)] +Pass CSS Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (-1) should be [rect(0px, 50px, 70px, 15px)] +Pass CSS Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0) should be [rect(0px, 75px, 80px, 10px)] +Pass CSS Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.25) should be [rect(0px, 81.25px, 82.5px, 8.75px)] +Pass CSS Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.75) should be [rect(0px, 93.75px, 87.5px, 6.25px)] +Pass CSS Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (1) should be [rect(0px, 100px, 90px, 5px)] +Pass CSS Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (2) should be [rect(0px, 125px, 100px, 0px)] +Pass Web Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (-1) should be [rect(0px, 50px, 70px, 15px)] +Pass Web Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0) should be [rect(0px, 75px, 80px, 10px)] +Pass Web Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.25) should be [rect(0px, 81.25px, 82.5px, 8.75px)] +Pass Web Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (0.75) should be [rect(0px, 93.75px, 87.5px, 6.25px)] +Pass Web Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (1) should be [rect(0px, 100px, 90px, 5px)] +Pass Web Animations: property from [rect(0px, 75px, 80px, 10px)] to [rect(0px, 100px, 90px, 5px)] at (2) should be [rect(0px, 125px, 100px, 0px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(auto, auto, auto, 10px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(auto, auto, auto, 10px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(auto, auto, auto, 10px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(auto, auto, auto, 10px)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(auto, auto, auto, 10px)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(auto, auto, auto, 10px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(auto, auto, auto, 10px)] +Pass CSS Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(auto, auto, auto, 10px)] +Pass CSS Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(auto, auto, auto, 10px)] +Pass CSS Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)] +Pass CSS Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)] +Pass Web Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (-0.3) should be [rect(auto, auto, auto, 10px)] +Pass Web Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0) should be [rect(auto, auto, auto, 10px)] +Pass Web Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.3) should be [rect(auto, auto, auto, 10px)] +Pass Web Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.5) should be [rect(20px, 50px, 50px, auto)] +Pass Web Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (0.6) should be [rect(20px, 50px, 50px, auto)] +Pass Web Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1) should be [rect(20px, 50px, 50px, auto)] +Pass Web Animations: property from [rect(auto, auto, auto, 10px)] to [rect(20px, 50px, 50px, auto)] at (1.5) should be [rect(20px, 50px, 50px, auto)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 0px, auto, 10px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 0px, auto, 10px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 0px, auto, 10px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 0px, auto, 10px)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 0px, auto, 10px)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 0px, auto, 10px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Transitions with transition: all: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 0px, auto, 10px)] +Pass CSS Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 0px, auto, 10px)] +Pass CSS Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 0px, auto, 10px)] +Pass CSS Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)] +Pass CSS Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)] +Pass Web Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (-0.3) should be [rect(auto, 0px, auto, 10px)] +Pass Web Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0) should be [rect(auto, 0px, auto, 10px)] +Pass Web Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.3) should be [rect(auto, 0px, auto, 10px)] +Pass Web Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.5) should be [rect(auto, 50px, 50px, auto)] +Pass Web Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (0.6) should be [rect(auto, 50px, 50px, auto)] +Pass Web Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1) should be [rect(auto, 50px, 50px, auto)] +Pass Web Animations: property from [rect(auto, 0px, auto, 10px)] to [rect(auto, 50px, 50px, auto)] at (1.5) should be [rect(auto, 50px, 50px, auto)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [auto] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [auto] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [auto] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [auto] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [auto] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [auto] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition: all: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition: all: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition: all: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition: all: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition: all: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition: all: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition: all: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [auto] +Pass CSS Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [auto] +Pass CSS Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [auto] +Pass CSS Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)] +Pass Web Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (-0.3) should be [auto] +Pass Web Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0) should be [auto] +Pass Web Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.3) should be [auto] +Pass Web Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.5) should be [rect(0px, 50px, 50px, 0px)] +Pass Web Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (0.6) should be [rect(0px, 50px, 50px, 0px)] +Pass Web Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1) should be [rect(0px, 50px, 50px, 0px)] +Pass Web Animations: property from [auto] to [rect(0px, 50px, 50px, 0px)] at (1.5) should be [rect(0px, 50px, 50px, 0px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [rect(0px, 50px, 50px, 0px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [rect(0px, 50px, 50px, 0px)] +Fail CSS Transitions with transition-behavior:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto] +Pass CSS Transitions with transition-behavior:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [rect(0px, 50px, 50px, 0px)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [rect(0px, 50px, 50px, 0px)] +Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto] +Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto] +Pass CSS Transitions: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [auto] +Pass CSS Transitions: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [auto] +Pass CSS Transitions: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [auto] +Pass CSS Transitions: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto] +Pass CSS Transitions: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto] +Pass CSS Transitions: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto] +Pass CSS Transitions: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto] +Pass CSS Transitions with transition: all: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [auto] +Pass CSS Transitions with transition: all: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [auto] +Pass CSS Transitions with transition: all: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [auto] +Pass CSS Transitions with transition: all: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto] +Pass CSS Transitions with transition: all: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto] +Pass CSS Transitions with transition: all: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto] +Pass CSS Transitions with transition: all: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto] +Pass CSS Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass CSS Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto] +Pass CSS Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto] +Pass CSS Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto] +Pass CSS Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto] +Pass Web Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (-0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass Web Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0) should be [rect(0px, 50px, 50px, 0px)] +Pass Web Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.3) should be [rect(0px, 50px, 50px, 0px)] +Pass Web Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.5) should be [auto] +Pass Web Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (0.6) should be [auto] +Pass Web Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1) should be [auto] +Pass Web Animations: property from [rect(0px, 50px, 50px, 0px)] to [auto] at (1.5) should be [auto] \ No newline at end of file diff --git a/Tests/LibWeb/Text/input/wpt-import/css/css-masking/animations/clip-interpolation.html b/Tests/LibWeb/Text/input/wpt-import/css/css-masking/animations/clip-interpolation.html new file mode 100644 index 00000000000..4863ebef5e9 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/css/css-masking/animations/clip-interpolation.html @@ -0,0 +1,117 @@ + + +clip interpolation + + + + + + + + + + + +