LibWeb: Implement interpolation for CSS scale values

And let's handle the 3rd (Z) scale parameter as well, while we're here.

At least 242 new passes on WPT.
This commit is contained in:
Andreas Kling 2025-04-25 13:03:02 +02:00 committed by Andreas Kling
parent 4f4b43f1d2
commit cf704cfbfc
7 changed files with 318 additions and 251 deletions

View file

@ -58,6 +58,51 @@ static NonnullRefPtr<CSSStyleValue const> with_keyword_values_resolved(DOM::Elem
return value;
}
static RefPtr<CSSStyleValue const> interpolate_scale(DOM::Element&, CSSStyleValue const& a_from, CSSStyleValue const& a_to, float delta)
{
if (a_from.to_keyword() == Keyword::None && a_to.to_keyword() == Keyword::None)
return a_from;
static auto one = TransformationStyleValue::create(PropertyID::Scale, TransformFunction::Scale, { NumberStyleValue::create(1), NumberStyleValue::create(1) });
auto const& from = a_from.to_keyword() == Keyword::None ? *one : a_from;
auto const& to = a_to.to_keyword() == Keyword::None ? *one : a_to;
auto const& from_transform = from.as_transformation();
auto const& to_transform = to.as_transformation();
auto from_x = from_transform.values()[0]->as_number().value();
auto to_x = to_transform.values()[0]->as_number().value();
auto from_y = from_transform.values()[1]->as_number().value();
auto to_y = to_transform.values()[1]->as_number().value();
Optional<double> from_z;
Optional<double> to_z;
if (from_transform.values().size() == 3) {
from_z = from_transform.values()[2]->as_number().value();
}
if (to_transform.values().size() == 3) {
to_z = to_transform.values()[2]->as_number().value();
}
Optional<double> new_z;
if (from_z.has_value() || to_z.has_value()) {
new_z = interpolate_raw(from_z.value_or(1), to_z.value_or(1), delta);
}
auto new_x = NumberStyleValue::create(interpolate_raw(from_x, to_x, delta));
auto new_y = NumberStyleValue::create(interpolate_raw(from_y, to_y, delta));
StyleValueVector new_values = { new_x, new_y };
if (new_z.has_value() && new_z.value() != 1) {
new_values.append(NumberStyleValue::create(new_z.value()));
}
return TransformationStyleValue::create(
PropertyID::Scale,
TransformFunction::Scale,
move(new_values));
}
ValueComparingRefPtr<CSSStyleValue const> interpolate_property(DOM::Element& element, PropertyID property_id, CSSStyleValue const& a_from, CSSStyleValue const& a_to, float delta)
{
auto from = with_keyword_values_resolved(element, property_id, a_from);
@ -89,6 +134,9 @@ ValueComparingRefPtr<CSSStyleValue const> interpolate_property(DOM::Element& ele
if (property_id == PropertyID::BoxShadow)
return interpolate_box_shadow(element, calculation_context, from, to, delta);
if (property_id == PropertyID::Scale)
return interpolate_scale(element, from, to, delta);
// FIXME: Handle all custom animatable properties
[[fallthrough]];
}

View file

@ -3889,8 +3889,17 @@ RefPtr<CSSStyleValue const> Parser::parse_scale_value(TokenStream<ComponentValue
if (!maybe_y)
return nullptr;
if (!tokens.has_next_token()) {
transaction.commit();
return TransformationStyleValue::create(PropertyID::Scale, TransformFunction::Scale, { maybe_x.release_nonnull(), maybe_y.release_nonnull() });
}
auto maybe_z = parse_number_percentage_value(tokens);
if (!maybe_z)
return nullptr;
transaction.commit();
return TransformationStyleValue::create(PropertyID::Scale, TransformFunction::Scale, { maybe_x.release_nonnull(), maybe_y.release_nonnull() });
return TransformationStyleValue::create(PropertyID::Scale, TransformFunction::Scale, { maybe_x.release_nonnull(), maybe_y.release_nonnull(), maybe_z.release_nonnull() });
}
// https://drafts.csswg.org/css-overflow/#propdef-scrollbar-gutter

View file

@ -129,14 +129,20 @@ String TransformationStyleValue::to_string(SerializationMode mode) const
auto x_value = resolve_to_string(m_properties.values[0]);
auto y_value = resolve_to_string(m_properties.values[1]);
// FIXME: 3D scaling
Optional<String> z_value;
if (m_properties.values.size() == 3)
z_value = resolve_to_string(m_properties.values[2]);
StringBuilder builder;
builder.append(x_value);
if (x_value != y_value) {
if (x_value != y_value || z_value.has_value()) {
builder.append(" "sv);
builder.append(y_value);
}
if (z_value.has_value()) {
builder.append(" "sv);
builder.append(z_value.value());
}
return builder.to_string_without_validation();
}
if (m_properties.property == PropertyID::Translate) {

View file

@ -161,6 +161,10 @@
"type": "<number-percentage>",
"required": true
},
{
"type": "<number-percentage>",
"required": false
},
{
"type": "<number-percentage>",
"required": false

View file

@ -2,128 +2,128 @@ Harness status: OK
Found 360 tests
40 Pass
320 Fail
Fail CSS Transitions: property <scale> from [-10 5] to [10 -5] at (-1) should be [-30 15]
276 Pass
84 Fail
Pass CSS Transitions: property <scale> from [-10 5] to [10 -5] at (-1) should be [-30 15]
Pass CSS Transitions: property <scale> from [-10 5] to [10 -5] at (0) should be [-10 5]
Fail CSS Transitions: property <scale> from [-10 5] to [10 -5] at (0.25) should be [-5 2.5]
Fail CSS Transitions: property <scale> from [-10 5] to [10 -5] at (0.75) should be [5 -2.5]
Pass CSS Transitions: property <scale> from [-10 5] to [10 -5] at (0.25) should be [-5 2.5]
Pass CSS Transitions: property <scale> from [-10 5] to [10 -5] at (0.75) should be [5 -2.5]
Pass CSS Transitions: property <scale> from [-10 5] to [10 -5] at (1) should be [10 -5]
Fail CSS Transitions: property <scale> from [-10 5] to [10 -5] at (2) should be [30 -15]
Pass CSS Transitions: property <scale> from [-10 5] to [10 -5] at (2) should be [30 -15]
Fail CSS Transitions with transition: all: property <scale> from [-10 5] to [10 -5] at (-1) should be [-30 15]
Fail CSS Transitions with transition: all: property <scale> from [-10 5] to [10 -5] at (0) should be [-10 5]
Fail CSS Transitions with transition: all: property <scale> from [-10 5] to [10 -5] at (0.25) should be [-5 2.5]
Fail CSS Transitions with transition: all: property <scale> from [-10 5] to [10 -5] at (0.75) should be [5 -2.5]
Pass CSS Transitions with transition: all: property <scale> from [-10 5] to [10 -5] at (1) should be [10 -5]
Fail CSS Transitions with transition: all: property <scale> from [-10 5] to [10 -5] at (2) should be [30 -15]
Fail CSS Animations: property <scale> from [-10 5] to [10 -5] at (-1) should be [-30 15]
Pass CSS Animations: property <scale> from [-10 5] to [10 -5] at (-1) should be [-30 15]
Pass CSS Animations: property <scale> from [-10 5] to [10 -5] at (0) should be [-10 5]
Fail CSS Animations: property <scale> from [-10 5] to [10 -5] at (0.25) should be [-5 2.5]
Fail CSS Animations: property <scale> from [-10 5] to [10 -5] at (0.75) should be [5 -2.5]
Pass CSS Animations: property <scale> from [-10 5] to [10 -5] at (0.25) should be [-5 2.5]
Pass CSS Animations: property <scale> from [-10 5] to [10 -5] at (0.75) should be [5 -2.5]
Pass CSS Animations: property <scale> from [-10 5] to [10 -5] at (1) should be [10 -5]
Fail CSS Animations: property <scale> from [-10 5] to [10 -5] at (2) should be [30 -15]
Fail Web Animations: property <scale> from [-10 5] to [10 -5] at (-1) should be [-30 15]
Pass CSS Animations: property <scale> from [-10 5] to [10 -5] at (2) should be [30 -15]
Pass Web Animations: property <scale> from [-10 5] to [10 -5] at (-1) should be [-30 15]
Pass Web Animations: property <scale> from [-10 5] to [10 -5] at (0) should be [-10 5]
Fail Web Animations: property <scale> from [-10 5] to [10 -5] at (0.25) should be [-5 2.5]
Fail Web Animations: property <scale> from [-10 5] to [10 -5] at (0.75) should be [5 -2.5]
Pass Web Animations: property <scale> from [-10 5] to [10 -5] at (0.25) should be [-5 2.5]
Pass Web Animations: property <scale> from [-10 5] to [10 -5] at (0.75) should be [5 -2.5]
Pass Web Animations: property <scale> from [-10 5] to [10 -5] at (1) should be [10 -5]
Fail Web Animations: property <scale> from [-10 5] to [10 -5] at (2) should be [30 -15]
Fail CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (-1) should be [-6 -50 -400]
Fail CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (0) should be [2 30 400]
Fail CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (0.125) should be [3 40 500]
Fail CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (0.875) should be [9 100 1100]
Fail CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (1) should be [10 110 1200]
Fail CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (2) should be [18 190 2000]
Pass Web Animations: property <scale> from [-10 5] to [10 -5] at (2) should be [30 -15]
Pass CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (-1) should be [-6 -50 -400]
Pass CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (0) should be [2 30 400]
Pass CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (0.125) should be [3 40 500]
Pass CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (0.875) should be [9 100 1100]
Pass CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (1) should be [10 110 1200]
Pass CSS Transitions: property <scale> from [2 30 400] to [10 110 1200] at (2) should be [18 190 2000]
Fail CSS Transitions with transition: all: property <scale> from [2 30 400] to [10 110 1200] at (-1) should be [-6 -50 -400]
Fail CSS Transitions with transition: all: property <scale> from [2 30 400] to [10 110 1200] at (0) should be [2 30 400]
Fail CSS Transitions with transition: all: property <scale> from [2 30 400] to [10 110 1200] at (0.125) should be [3 40 500]
Fail CSS Transitions with transition: all: property <scale> from [2 30 400] to [10 110 1200] at (0.875) should be [9 100 1100]
Fail CSS Transitions with transition: all: property <scale> from [2 30 400] to [10 110 1200] at (1) should be [10 110 1200]
Pass CSS Transitions with transition: all: property <scale> from [2 30 400] to [10 110 1200] at (1) should be [10 110 1200]
Fail CSS Transitions with transition: all: property <scale> from [2 30 400] to [10 110 1200] at (2) should be [18 190 2000]
Fail CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (-1) should be [-6 -50 -400]
Fail CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (0) should be [2 30 400]
Fail CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (0.125) should be [3 40 500]
Fail CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (0.875) should be [9 100 1100]
Fail CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (1) should be [10 110 1200]
Fail CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (2) should be [18 190 2000]
Fail Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (-1) should be [-6 -50 -400]
Fail Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (0) should be [2 30 400]
Fail Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (0.125) should be [3 40 500]
Fail Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (0.875) should be [9 100 1100]
Fail Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (1) should be [10 110 1200]
Fail Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (2) should be [18 190 2000]
Fail CSS Transitions: property <scale> from [26 17 9] to [2 1] at (-1) should be [50 33 17]
Fail CSS Transitions: property <scale> from [26 17 9] to [2 1] at (0) should be [26 17 9]
Fail CSS Transitions: property <scale> from [26 17 9] to [2 1] at (0.125) should be [23 15 8]
Fail CSS Transitions: property <scale> from [26 17 9] to [2 1] at (0.875) should be [5 3 2]
Fail CSS Transitions: property <scale> from [26 17 9] to [2 1] at (1) should be [2 1]
Fail CSS Transitions: property <scale> from [26 17 9] to [2 1] at (2) should be [-22 -15 -7]
Pass CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (-1) should be [-6 -50 -400]
Pass CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (0) should be [2 30 400]
Pass CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (0.125) should be [3 40 500]
Pass CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (0.875) should be [9 100 1100]
Pass CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (1) should be [10 110 1200]
Pass CSS Animations: property <scale> from [2 30 400] to [10 110 1200] at (2) should be [18 190 2000]
Pass Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (-1) should be [-6 -50 -400]
Pass Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (0) should be [2 30 400]
Pass Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (0.125) should be [3 40 500]
Pass Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (0.875) should be [9 100 1100]
Pass Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (1) should be [10 110 1200]
Pass Web Animations: property <scale> from [2 30 400] to [10 110 1200] at (2) should be [18 190 2000]
Pass CSS Transitions: property <scale> from [26 17 9] to [2 1] at (-1) should be [50 33 17]
Pass CSS Transitions: property <scale> from [26 17 9] to [2 1] at (0) should be [26 17 9]
Pass CSS Transitions: property <scale> from [26 17 9] to [2 1] at (0.125) should be [23 15 8]
Pass CSS Transitions: property <scale> from [26 17 9] to [2 1] at (0.875) should be [5 3 2]
Pass CSS Transitions: property <scale> from [26 17 9] to [2 1] at (1) should be [2 1]
Pass CSS Transitions: property <scale> from [26 17 9] to [2 1] at (2) should be [-22 -15 -7]
Fail CSS Transitions with transition: all: property <scale> from [26 17 9] to [2 1] at (-1) should be [50 33 17]
Fail CSS Transitions with transition: all: property <scale> from [26 17 9] to [2 1] at (0) should be [26 17 9]
Fail CSS Transitions with transition: all: property <scale> from [26 17 9] to [2 1] at (0.125) should be [23 15 8]
Fail CSS Transitions with transition: all: property <scale> from [26 17 9] to [2 1] at (0.875) should be [5 3 2]
Fail CSS Transitions with transition: all: property <scale> from [26 17 9] to [2 1] at (1) should be [2 1]
Pass CSS Transitions with transition: all: property <scale> from [26 17 9] to [2 1] at (1) should be [2 1]
Fail CSS Transitions with transition: all: property <scale> from [26 17 9] to [2 1] at (2) should be [-22 -15 -7]
Fail CSS Animations: property <scale> from [26 17 9] to [2 1] at (-1) should be [50 33 17]
Fail CSS Animations: property <scale> from [26 17 9] to [2 1] at (0) should be [26 17 9]
Fail CSS Animations: property <scale> from [26 17 9] to [2 1] at (0.125) should be [23 15 8]
Fail CSS Animations: property <scale> from [26 17 9] to [2 1] at (0.875) should be [5 3 2]
Fail CSS Animations: property <scale> from [26 17 9] to [2 1] at (1) should be [2 1]
Fail CSS Animations: property <scale> from [26 17 9] to [2 1] at (2) should be [-22 -15 -7]
Fail Web Animations: property <scale> from [26 17 9] to [2 1] at (-1) should be [50 33 17]
Fail Web Animations: property <scale> from [26 17 9] to [2 1] at (0) should be [26 17 9]
Fail Web Animations: property <scale> from [26 17 9] to [2 1] at (0.125) should be [23 15 8]
Fail Web Animations: property <scale> from [26 17 9] to [2 1] at (0.875) should be [5 3 2]
Fail Web Animations: property <scale> from [26 17 9] to [2 1] at (1) should be [2 1]
Fail Web Animations: property <scale> from [26 17 9] to [2 1] at (2) should be [-22 -15 -7]
Fail CSS Transitions: property <scale> from [1] to [10 -5 0] at (-1) should be [-8 7 2]
Fail CSS Transitions: property <scale> from [1] to [10 -5 0] at (0) should be [1]
Fail CSS Transitions: property <scale> from [1] to [10 -5 0] at (0.25) should be [3.25 -0.5 0.75]
Fail CSS Transitions: property <scale> from [1] to [10 -5 0] at (0.75) should be [7.75 -3.5 0.25]
Fail CSS Transitions: property <scale> from [1] to [10 -5 0] at (1) should be [10 -5 0]
Fail CSS Transitions: property <scale> from [1] to [10 -5 0] at (2) should be [19 -11 -1]
Pass CSS Animations: property <scale> from [26 17 9] to [2 1] at (-1) should be [50 33 17]
Pass CSS Animations: property <scale> from [26 17 9] to [2 1] at (0) should be [26 17 9]
Pass CSS Animations: property <scale> from [26 17 9] to [2 1] at (0.125) should be [23 15 8]
Pass CSS Animations: property <scale> from [26 17 9] to [2 1] at (0.875) should be [5 3 2]
Pass CSS Animations: property <scale> from [26 17 9] to [2 1] at (1) should be [2 1]
Pass CSS Animations: property <scale> from [26 17 9] to [2 1] at (2) should be [-22 -15 -7]
Pass Web Animations: property <scale> from [26 17 9] to [2 1] at (-1) should be [50 33 17]
Pass Web Animations: property <scale> from [26 17 9] to [2 1] at (0) should be [26 17 9]
Pass Web Animations: property <scale> from [26 17 9] to [2 1] at (0.125) should be [23 15 8]
Pass Web Animations: property <scale> from [26 17 9] to [2 1] at (0.875) should be [5 3 2]
Pass Web Animations: property <scale> from [26 17 9] to [2 1] at (1) should be [2 1]
Pass Web Animations: property <scale> from [26 17 9] to [2 1] at (2) should be [-22 -15 -7]
Pass CSS Transitions: property <scale> from [1] to [10 -5 0] at (-1) should be [-8 7 2]
Pass CSS Transitions: property <scale> from [1] to [10 -5 0] at (0) should be [1]
Pass CSS Transitions: property <scale> from [1] to [10 -5 0] at (0.25) should be [3.25 -0.5 0.75]
Pass CSS Transitions: property <scale> from [1] to [10 -5 0] at (0.75) should be [7.75 -3.5 0.25]
Pass CSS Transitions: property <scale> from [1] to [10 -5 0] at (1) should be [10 -5 0]
Pass CSS Transitions: property <scale> from [1] to [10 -5 0] at (2) should be [19 -11 -1]
Fail CSS Transitions with transition: all: property <scale> from [1] to [10 -5 0] at (-1) should be [-8 7 2]
Fail CSS Transitions with transition: all: property <scale> from [1] to [10 -5 0] at (0) should be [1]
Fail CSS Transitions with transition: all: property <scale> from [1] to [10 -5 0] at (0.25) should be [3.25 -0.5 0.75]
Fail CSS Transitions with transition: all: property <scale> from [1] to [10 -5 0] at (0.75) should be [7.75 -3.5 0.25]
Fail CSS Transitions with transition: all: property <scale> from [1] to [10 -5 0] at (1) should be [10 -5 0]
Pass CSS Transitions with transition: all: property <scale> from [1] to [10 -5 0] at (1) should be [10 -5 0]
Fail CSS Transitions with transition: all: property <scale> from [1] to [10 -5 0] at (2) should be [19 -11 -1]
Fail CSS Animations: property <scale> from [1] to [10 -5 0] at (-1) should be [-8 7 2]
Fail CSS Animations: property <scale> from [1] to [10 -5 0] at (0) should be [1]
Fail CSS Animations: property <scale> from [1] to [10 -5 0] at (0.25) should be [3.25 -0.5 0.75]
Fail CSS Animations: property <scale> from [1] to [10 -5 0] at (0.75) should be [7.75 -3.5 0.25]
Fail CSS Animations: property <scale> from [1] to [10 -5 0] at (1) should be [10 -5 0]
Fail CSS Animations: property <scale> from [1] to [10 -5 0] at (2) should be [19 -11 -1]
Fail Web Animations: property <scale> from [1] to [10 -5 0] at (-1) should be [-8 7 2]
Fail Web Animations: property <scale> from [1] to [10 -5 0] at (0) should be [1]
Fail Web Animations: property <scale> from [1] to [10 -5 0] at (0.25) should be [3.25 -0.5 0.75]
Fail Web Animations: property <scale> from [1] to [10 -5 0] at (0.75) should be [7.75 -3.5 0.25]
Fail Web Animations: property <scale> from [1] to [10 -5 0] at (1) should be [10 -5 0]
Fail Web Animations: property <scale> from [1] to [10 -5 0] at (2) should be [19 -11 -1]
Fail CSS Transitions: property <scale> from [-10 5 1] to [1] at (-1) should be [-21 9]
Fail CSS Transitions: property <scale> from [-10 5 1] to [1] at (0) should be [-10 5]
Fail CSS Transitions: property <scale> from [-10 5 1] to [1] at (0.25) should be [-7.25 4]
Fail CSS Transitions: property <scale> from [-10 5 1] to [1] at (0.75) should be [-1.75 2]
Fail CSS Transitions: property <scale> from [-10 5 1] to [1] at (1) should be [1]
Fail CSS Transitions: property <scale> from [-10 5 1] to [1] at (2) should be [12 -3]
Pass CSS Animations: property <scale> from [1] to [10 -5 0] at (-1) should be [-8 7 2]
Pass CSS Animations: property <scale> from [1] to [10 -5 0] at (0) should be [1]
Pass CSS Animations: property <scale> from [1] to [10 -5 0] at (0.25) should be [3.25 -0.5 0.75]
Pass CSS Animations: property <scale> from [1] to [10 -5 0] at (0.75) should be [7.75 -3.5 0.25]
Pass CSS Animations: property <scale> from [1] to [10 -5 0] at (1) should be [10 -5 0]
Pass CSS Animations: property <scale> from [1] to [10 -5 0] at (2) should be [19 -11 -1]
Pass Web Animations: property <scale> from [1] to [10 -5 0] at (-1) should be [-8 7 2]
Pass Web Animations: property <scale> from [1] to [10 -5 0] at (0) should be [1]
Pass Web Animations: property <scale> from [1] to [10 -5 0] at (0.25) should be [3.25 -0.5 0.75]
Pass Web Animations: property <scale> from [1] to [10 -5 0] at (0.75) should be [7.75 -3.5 0.25]
Pass Web Animations: property <scale> from [1] to [10 -5 0] at (1) should be [10 -5 0]
Pass Web Animations: property <scale> from [1] to [10 -5 0] at (2) should be [19 -11 -1]
Pass CSS Transitions: property <scale> from [-10 5 1] to [1] at (-1) should be [-21 9]
Pass CSS Transitions: property <scale> from [-10 5 1] to [1] at (0) should be [-10 5]
Pass CSS Transitions: property <scale> from [-10 5 1] to [1] at (0.25) should be [-7.25 4]
Pass CSS Transitions: property <scale> from [-10 5 1] to [1] at (0.75) should be [-1.75 2]
Pass CSS Transitions: property <scale> from [-10 5 1] to [1] at (1) should be [1]
Pass CSS Transitions: property <scale> from [-10 5 1] to [1] at (2) should be [12 -3]
Fail CSS Transitions with transition: all: property <scale> from [-10 5 1] to [1] at (-1) should be [-21 9]
Fail CSS Transitions with transition: all: property <scale> from [-10 5 1] to [1] at (0) should be [-10 5]
Fail CSS Transitions with transition: all: property <scale> from [-10 5 1] to [1] at (0.25) should be [-7.25 4]
Fail CSS Transitions with transition: all: property <scale> from [-10 5 1] to [1] at (0.75) should be [-1.75 2]
Fail CSS Transitions with transition: all: property <scale> from [-10 5 1] to [1] at (1) should be [1]
Pass CSS Transitions with transition: all: property <scale> from [-10 5 1] to [1] at (1) should be [1]
Fail CSS Transitions with transition: all: property <scale> from [-10 5 1] to [1] at (2) should be [12 -3]
Fail CSS Animations: property <scale> from [-10 5 1] to [1] at (-1) should be [-21 9]
Fail CSS Animations: property <scale> from [-10 5 1] to [1] at (0) should be [-10 5]
Fail CSS Animations: property <scale> from [-10 5 1] to [1] at (0.25) should be [-7.25 4]
Fail CSS Animations: property <scale> from [-10 5 1] to [1] at (0.75) should be [-1.75 2]
Fail CSS Animations: property <scale> from [-10 5 1] to [1] at (1) should be [1]
Fail CSS Animations: property <scale> from [-10 5 1] to [1] at (2) should be [12 -3]
Fail Web Animations: property <scale> from [-10 5 1] to [1] at (-1) should be [-21 9]
Fail Web Animations: property <scale> from [-10 5 1] to [1] at (0) should be [-10 5]
Fail Web Animations: property <scale> from [-10 5 1] to [1] at (0.25) should be [-7.25 4]
Fail Web Animations: property <scale> from [-10 5 1] to [1] at (0.75) should be [-1.75 2]
Fail Web Animations: property <scale> from [-10 5 1] to [1] at (1) should be [1]
Fail Web Animations: property <scale> from [-10 5 1] to [1] at (2) should be [12 -3]
Pass CSS Animations: property <scale> from [-10 5 1] to [1] at (-1) should be [-21 9]
Pass CSS Animations: property <scale> from [-10 5 1] to [1] at (0) should be [-10 5]
Pass CSS Animations: property <scale> from [-10 5 1] to [1] at (0.25) should be [-7.25 4]
Pass CSS Animations: property <scale> from [-10 5 1] to [1] at (0.75) should be [-1.75 2]
Pass CSS Animations: property <scale> from [-10 5 1] to [1] at (1) should be [1]
Pass CSS Animations: property <scale> from [-10 5 1] to [1] at (2) should be [12 -3]
Pass Web Animations: property <scale> from [-10 5 1] to [1] at (-1) should be [-21 9]
Pass Web Animations: property <scale> from [-10 5 1] to [1] at (0) should be [-10 5]
Pass Web Animations: property <scale> from [-10 5 1] to [1] at (0.25) should be [-7.25 4]
Pass Web Animations: property <scale> from [-10 5 1] to [1] at (0.75) should be [-1.75 2]
Pass Web Animations: property <scale> from [-10 5 1] to [1] at (1) should be [1]
Pass Web Animations: property <scale> from [-10 5 1] to [1] at (2) should be [12 -3]
Pass CSS Transitions: property <scale> from [none] to [none] at (-1) should be [none]
Pass CSS Transitions: property <scale> from [none] to [none] at (0) should be [none]
Pass CSS Transitions: property <scale> from [none] to [none] at (0.125) should be [none]
@ -148,36 +148,36 @@ Pass Web Animations: property <scale> from [none] to [none] at (0.125) should be
Pass Web Animations: property <scale> from [none] to [none] at (0.875) should be [none]
Pass Web Animations: property <scale> from [none] to [none] at (1) should be [none]
Pass Web Animations: property <scale> from [none] to [none] at (2) should be [none]
Fail CSS Transitions: property <scale> from [none] to [4 3 2] at (-1) should be [-2 -1 0]
Fail CSS Transitions: property <scale> from [none] to [4 3 2] at (0) should be [1]
Fail CSS Transitions: property <scale> from [none] to [4 3 2] at (0.125) should be [1.375 1.25 1.125]
Fail CSS Transitions: property <scale> from [none] to [4 3 2] at (0.875) should be [3.625 2.75 1.875]
Fail CSS Transitions: property <scale> from [none] to [4 3 2] at (1) should be [4 3 2]
Fail CSS Transitions: property <scale> from [none] to [4 3 2] at (2) should be [7 5 3]
Pass CSS Transitions: property <scale> from [none] to [4 3 2] at (-1) should be [-2 -1 0]
Pass CSS Transitions: property <scale> from [none] to [4 3 2] at (0) should be [1]
Pass CSS Transitions: property <scale> from [none] to [4 3 2] at (0.125) should be [1.375 1.25 1.125]
Pass CSS Transitions: property <scale> from [none] to [4 3 2] at (0.875) should be [3.625 2.75 1.875]
Pass CSS Transitions: property <scale> from [none] to [4 3 2] at (1) should be [4 3 2]
Pass CSS Transitions: property <scale> from [none] to [4 3 2] at (2) should be [7 5 3]
Fail CSS Transitions with transition: all: property <scale> from [none] to [4 3 2] at (-1) should be [-2 -1 0]
Fail CSS Transitions with transition: all: property <scale> from [none] to [4 3 2] at (0) should be [1]
Fail CSS Transitions with transition: all: property <scale> from [none] to [4 3 2] at (0.125) should be [1.375 1.25 1.125]
Fail CSS Transitions with transition: all: property <scale> from [none] to [4 3 2] at (0.875) should be [3.625 2.75 1.875]
Fail CSS Transitions with transition: all: property <scale> from [none] to [4 3 2] at (1) should be [4 3 2]
Pass CSS Transitions with transition: all: property <scale> from [none] to [4 3 2] at (1) should be [4 3 2]
Fail CSS Transitions with transition: all: property <scale> from [none] to [4 3 2] at (2) should be [7 5 3]
Fail CSS Animations: property <scale> from [none] to [4 3 2] at (-1) should be [-2 -1 0]
Fail CSS Animations: property <scale> from [none] to [4 3 2] at (0) should be [1]
Fail CSS Animations: property <scale> from [none] to [4 3 2] at (0.125) should be [1.375 1.25 1.125]
Fail CSS Animations: property <scale> from [none] to [4 3 2] at (0.875) should be [3.625 2.75 1.875]
Fail CSS Animations: property <scale> from [none] to [4 3 2] at (1) should be [4 3 2]
Fail CSS Animations: property <scale> from [none] to [4 3 2] at (2) should be [7 5 3]
Fail Web Animations: property <scale> from [none] to [4 3 2] at (-1) should be [-2 -1 0]
Fail Web Animations: property <scale> from [none] to [4 3 2] at (0) should be [1]
Fail Web Animations: property <scale> from [none] to [4 3 2] at (0.125) should be [1.375 1.25 1.125]
Fail Web Animations: property <scale> from [none] to [4 3 2] at (0.875) should be [3.625 2.75 1.875]
Fail Web Animations: property <scale> from [none] to [4 3 2] at (1) should be [4 3 2]
Fail Web Animations: property <scale> from [none] to [4 3 2] at (2) should be [7 5 3]
Fail CSS Transitions: property <scale> from neutral to [1.5 1] at (-1) should be [0.7 1]
Pass CSS Animations: property <scale> from [none] to [4 3 2] at (-1) should be [-2 -1 0]
Pass CSS Animations: property <scale> from [none] to [4 3 2] at (0) should be [1]
Pass CSS Animations: property <scale> from [none] to [4 3 2] at (0.125) should be [1.375 1.25 1.125]
Pass CSS Animations: property <scale> from [none] to [4 3 2] at (0.875) should be [3.625 2.75 1.875]
Pass CSS Animations: property <scale> from [none] to [4 3 2] at (1) should be [4 3 2]
Pass CSS Animations: property <scale> from [none] to [4 3 2] at (2) should be [7 5 3]
Pass Web Animations: property <scale> from [none] to [4 3 2] at (-1) should be [-2 -1 0]
Pass Web Animations: property <scale> from [none] to [4 3 2] at (0) should be [1]
Pass Web Animations: property <scale> from [none] to [4 3 2] at (0.125) should be [1.375 1.25 1.125]
Pass Web Animations: property <scale> from [none] to [4 3 2] at (0.875) should be [3.625 2.75 1.875]
Pass Web Animations: property <scale> from [none] to [4 3 2] at (1) should be [4 3 2]
Pass Web Animations: property <scale> from [none] to [4 3 2] at (2) should be [7 5 3]
Pass CSS Transitions: property <scale> from neutral to [1.5 1] at (-1) should be [0.7 1]
Pass CSS Transitions: property <scale> from neutral to [1.5 1] at (0) should be [1.1 1]
Fail CSS Transitions: property <scale> from neutral to [1.5 1] at (0.25) should be [1.2 1]
Fail CSS Transitions: property <scale> from neutral to [1.5 1] at (0.75) should be [1.4 1]
Pass CSS Transitions: property <scale> from neutral to [1.5 1] at (0.25) should be [1.2 1]
Pass CSS Transitions: property <scale> from neutral to [1.5 1] at (0.75) should be [1.4 1]
Pass CSS Transitions: property <scale> from neutral to [1.5 1] at (1) should be [1.5 1]
Fail CSS Transitions: property <scale> from neutral to [1.5 1] at (2) should be [1.9 1]
Pass CSS Transitions: property <scale> from neutral to [1.5 1] at (2) should be [1.9 1]
Fail CSS Transitions with transition: all: property <scale> from neutral to [1.5 1] at (-1) should be [0.7 1]
Fail CSS Transitions with transition: all: property <scale> from neutral to [1.5 1] at (0) should be [1.1 1]
Fail CSS Transitions with transition: all: property <scale> from neutral to [1.5 1] at (0.25) should be [1.2 1]
@ -196,171 +196,171 @@ Fail Web Animations: property <scale> from neutral to [1.5 1] at (0.25) should b
Fail Web Animations: property <scale> from neutral to [1.5 1] at (0.75) should be [1.4 1]
Pass Web Animations: property <scale> from neutral to [1.5 1] at (1) should be [1.5 1]
Fail Web Animations: property <scale> from neutral to [1.5 1] at (2) should be [1.9 1]
Fail CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (-1) should be [0 1.5]
Fail CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (0) should be [1]
Fail CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (0.25) should be [1.25 0.875]
Fail CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (0.75) should be [1.75 0.625]
Fail CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (1) should be [2 0.5]
Fail CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (2) should be [3 0]
Pass CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (-1) should be [0 1.5]
Pass CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (0) should be [1]
Pass CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (0.25) should be [1.25 0.875]
Pass CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (0.75) should be [1.75 0.625]
Pass CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (1) should be [2 0.5]
Pass CSS Transitions: property <scale> from [initial] to [2 0.5 1] at (2) should be [3 0]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [2 0.5 1] at (-1) should be [0 1.5]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [2 0.5 1] at (0) should be [1]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [2 0.5 1] at (0.25) should be [1.25 0.875]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [2 0.5 1] at (0.75) should be [1.75 0.625]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [2 0.5 1] at (1) should be [2 0.5]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [2 0.5 1] at (2) should be [3 0]
Fail CSS Animations: property <scale> from [initial] to [2 0.5 1] at (-1) should be [0 1.5]
Fail CSS Animations: property <scale> from [initial] to [2 0.5 1] at (0) should be [1]
Fail CSS Animations: property <scale> from [initial] to [2 0.5 1] at (0.25) should be [1.25 0.875]
Fail CSS Animations: property <scale> from [initial] to [2 0.5 1] at (0.75) should be [1.75 0.625]
Fail CSS Animations: property <scale> from [initial] to [2 0.5 1] at (1) should be [2 0.5]
Fail CSS Animations: property <scale> from [initial] to [2 0.5 1] at (2) should be [3 0]
Fail Web Animations: property <scale> from [initial] to [2 0.5 1] at (-1) should be [0 1.5]
Fail Web Animations: property <scale> from [initial] to [2 0.5 1] at (0) should be [1]
Fail Web Animations: property <scale> from [initial] to [2 0.5 1] at (0.25) should be [1.25 0.875]
Fail Web Animations: property <scale> from [initial] to [2 0.5 1] at (0.75) should be [1.75 0.625]
Fail Web Animations: property <scale> from [initial] to [2 0.5 1] at (1) should be [2 0.5]
Fail Web Animations: property <scale> from [initial] to [2 0.5 1] at (2) should be [3 0]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (-1) should be [3 0]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (0) should be [2 0.5]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (0.25) should be [1.75 0.6251]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (0.75) should be [1.25 0.875]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (1) should be [1]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (2) should be [0 1.5]
Pass CSS Animations: property <scale> from [initial] to [2 0.5 1] at (-1) should be [0 1.5]
Pass CSS Animations: property <scale> from [initial] to [2 0.5 1] at (0) should be [1]
Pass CSS Animations: property <scale> from [initial] to [2 0.5 1] at (0.25) should be [1.25 0.875]
Pass CSS Animations: property <scale> from [initial] to [2 0.5 1] at (0.75) should be [1.75 0.625]
Pass CSS Animations: property <scale> from [initial] to [2 0.5 1] at (1) should be [2 0.5]
Pass CSS Animations: property <scale> from [initial] to [2 0.5 1] at (2) should be [3 0]
Pass Web Animations: property <scale> from [initial] to [2 0.5 1] at (-1) should be [0 1.5]
Pass Web Animations: property <scale> from [initial] to [2 0.5 1] at (0) should be [1]
Pass Web Animations: property <scale> from [initial] to [2 0.5 1] at (0.25) should be [1.25 0.875]
Pass Web Animations: property <scale> from [initial] to [2 0.5 1] at (0.75) should be [1.75 0.625]
Pass Web Animations: property <scale> from [initial] to [2 0.5 1] at (1) should be [2 0.5]
Pass Web Animations: property <scale> from [initial] to [2 0.5 1] at (2) should be [3 0]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (-1) should be [3 0]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (0) should be [2 0.5]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (0.25) should be [1.75 0.6251]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (0.75) should be [1.25 0.875]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (1) should be [1]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [initial] at (2) should be [0 1.5]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [initial] at (-1) should be [3 0]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [initial] at (0) should be [2 0.5]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [initial] at (0.25) should be [1.75 0.6251]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [initial] at (0.75) should be [1.25 0.875]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [initial] at (1) should be [1]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [initial] at (2) should be [0 1.5]
Fail CSS Animations: property <scale> from [2 0.5 1] to [initial] at (-1) should be [3 0]
Fail CSS Animations: property <scale> from [2 0.5 1] to [initial] at (0) should be [2 0.5]
Fail CSS Animations: property <scale> from [2 0.5 1] to [initial] at (0.25) should be [1.75 0.6251]
Fail CSS Animations: property <scale> from [2 0.5 1] to [initial] at (0.75) should be [1.25 0.875]
Fail CSS Animations: property <scale> from [2 0.5 1] to [initial] at (1) should be [1]
Fail CSS Animations: property <scale> from [2 0.5 1] to [initial] at (2) should be [0 1.5]
Fail Web Animations: property <scale> from [2 0.5 1] to [initial] at (-1) should be [3 0]
Fail Web Animations: property <scale> from [2 0.5 1] to [initial] at (0) should be [2 0.5]
Fail Web Animations: property <scale> from [2 0.5 1] to [initial] at (0.25) should be [1.75 0.6251]
Fail Web Animations: property <scale> from [2 0.5 1] to [initial] at (0.75) should be [1.25 0.875]
Fail Web Animations: property <scale> from [2 0.5 1] to [initial] at (1) should be [1]
Fail Web Animations: property <scale> from [2 0.5 1] to [initial] at (2) should be [0 1.5]
Fail CSS Transitions: property <scale> from [unset] to [1.5 1] at (-1) should be [0.5 1]
Fail CSS Transitions: property <scale> from [unset] to [1.5 1] at (0) should be [1]
Fail CSS Transitions: property <scale> from [unset] to [1.5 1] at (0.25) should be [1.125 1]
Fail CSS Transitions: property <scale> from [unset] to [1.5 1] at (0.75) should be [1.375 1]
Pass CSS Animations: property <scale> from [2 0.5 1] to [initial] at (-1) should be [3 0]
Pass CSS Animations: property <scale> from [2 0.5 1] to [initial] at (0) should be [2 0.5]
Pass CSS Animations: property <scale> from [2 0.5 1] to [initial] at (0.25) should be [1.75 0.6251]
Pass CSS Animations: property <scale> from [2 0.5 1] to [initial] at (0.75) should be [1.25 0.875]
Pass CSS Animations: property <scale> from [2 0.5 1] to [initial] at (1) should be [1]
Pass CSS Animations: property <scale> from [2 0.5 1] to [initial] at (2) should be [0 1.5]
Pass Web Animations: property <scale> from [2 0.5 1] to [initial] at (-1) should be [3 0]
Pass Web Animations: property <scale> from [2 0.5 1] to [initial] at (0) should be [2 0.5]
Pass Web Animations: property <scale> from [2 0.5 1] to [initial] at (0.25) should be [1.75 0.6251]
Pass Web Animations: property <scale> from [2 0.5 1] to [initial] at (0.75) should be [1.25 0.875]
Pass Web Animations: property <scale> from [2 0.5 1] to [initial] at (1) should be [1]
Pass Web Animations: property <scale> from [2 0.5 1] to [initial] at (2) should be [0 1.5]
Pass CSS Transitions: property <scale> from [unset] to [1.5 1] at (-1) should be [0.5 1]
Pass CSS Transitions: property <scale> from [unset] to [1.5 1] at (0) should be [1]
Pass CSS Transitions: property <scale> from [unset] to [1.5 1] at (0.25) should be [1.125 1]
Pass CSS Transitions: property <scale> from [unset] to [1.5 1] at (0.75) should be [1.375 1]
Pass CSS Transitions: property <scale> from [unset] to [1.5 1] at (1) should be [1.5 1]
Fail CSS Transitions: property <scale> from [unset] to [1.5 1] at (2) should be [2 1]
Pass CSS Transitions: property <scale> from [unset] to [1.5 1] at (2) should be [2 1]
Fail CSS Transitions with transition: all: property <scale> from [unset] to [1.5 1] at (-1) should be [0.5 1]
Fail CSS Transitions with transition: all: property <scale> from [unset] to [1.5 1] at (0) should be [1]
Fail CSS Transitions with transition: all: property <scale> from [unset] to [1.5 1] at (0.25) should be [1.125 1]
Fail CSS Transitions with transition: all: property <scale> from [unset] to [1.5 1] at (0.75) should be [1.375 1]
Pass CSS Transitions with transition: all: property <scale> from [unset] to [1.5 1] at (1) should be [1.5 1]
Fail CSS Transitions with transition: all: property <scale> from [unset] to [1.5 1] at (2) should be [2 1]
Fail CSS Animations: property <scale> from [unset] to [1.5 1] at (-1) should be [0.5 1]
Fail CSS Animations: property <scale> from [unset] to [1.5 1] at (0) should be [1]
Fail CSS Animations: property <scale> from [unset] to [1.5 1] at (0.25) should be [1.125 1]
Fail CSS Animations: property <scale> from [unset] to [1.5 1] at (0.75) should be [1.375 1]
Pass CSS Animations: property <scale> from [unset] to [1.5 1] at (-1) should be [0.5 1]
Pass CSS Animations: property <scale> from [unset] to [1.5 1] at (0) should be [1]
Pass CSS Animations: property <scale> from [unset] to [1.5 1] at (0.25) should be [1.125 1]
Pass CSS Animations: property <scale> from [unset] to [1.5 1] at (0.75) should be [1.375 1]
Pass CSS Animations: property <scale> from [unset] to [1.5 1] at (1) should be [1.5 1]
Fail CSS Animations: property <scale> from [unset] to [1.5 1] at (2) should be [2 1]
Fail Web Animations: property <scale> from [unset] to [1.5 1] at (-1) should be [0.5 1]
Fail Web Animations: property <scale> from [unset] to [1.5 1] at (0) should be [1]
Fail Web Animations: property <scale> from [unset] to [1.5 1] at (0.25) should be [1.125 1]
Fail Web Animations: property <scale> from [unset] to [1.5 1] at (0.75) should be [1.375 1]
Pass CSS Animations: property <scale> from [unset] to [1.5 1] at (2) should be [2 1]
Pass Web Animations: property <scale> from [unset] to [1.5 1] at (-1) should be [0.5 1]
Pass Web Animations: property <scale> from [unset] to [1.5 1] at (0) should be [1]
Pass Web Animations: property <scale> from [unset] to [1.5 1] at (0.25) should be [1.125 1]
Pass Web Animations: property <scale> from [unset] to [1.5 1] at (0.75) should be [1.375 1]
Pass Web Animations: property <scale> from [unset] to [1.5 1] at (1) should be [1.5 1]
Fail Web Animations: property <scale> from [unset] to [1.5 1] at (2) should be [2 1]
Fail CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (-1) should be [-1 1.5 3]
Fail CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (0) should be [0.5 1 2]
Fail CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (0.25) should be [0.875 0.875 1.75]
Fail CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (0.75) should be [1.625 0.625 1.25]
Fail CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (1) should be [2 0.5]
Fail CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (2) should be [3.5 0 0]
Pass Web Animations: property <scale> from [unset] to [1.5 1] at (2) should be [2 1]
Pass CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (-1) should be [-1 1.5 3]
Pass CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (0) should be [0.5 1 2]
Pass CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (0.25) should be [0.875 0.875 1.75]
Pass CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (0.75) should be [1.625 0.625 1.25]
Pass CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (1) should be [2 0.5]
Pass CSS Transitions: property <scale> from [inherit] to [2 0.5 1] at (2) should be [3.5 0 0]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [2 0.5 1] at (-1) should be [-1 1.5 3]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [2 0.5 1] at (0) should be [0.5 1 2]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [2 0.5 1] at (0.25) should be [0.875 0.875 1.75]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [2 0.5 1] at (0.75) should be [1.625 0.625 1.25]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [2 0.5 1] at (1) should be [2 0.5]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [2 0.5 1] at (2) should be [3.5 0 0]
Fail CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (-1) should be [-1 1.5 3]
Fail CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (0) should be [0.5 1 2]
Fail CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (0.25) should be [0.875 0.875 1.75]
Fail CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (0.75) should be [1.625 0.625 1.25]
Fail CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (1) should be [2 0.5]
Fail CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (2) should be [3.5 0 0]
Fail Web Animations: property <scale> from [inherit] to [2 0.5 1] at (-1) should be [-1 1.5 3]
Fail Web Animations: property <scale> from [inherit] to [2 0.5 1] at (0) should be [0.5 1 2]
Fail Web Animations: property <scale> from [inherit] to [2 0.5 1] at (0.25) should be [0.875 0.875 1.75]
Fail Web Animations: property <scale> from [inherit] to [2 0.5 1] at (0.75) should be [1.625 0.625 1.25]
Fail Web Animations: property <scale> from [inherit] to [2 0.5 1] at (1) should be [2 0.5]
Fail Web Animations: property <scale> from [inherit] to [2 0.5 1] at (2) should be [3.5 0 0]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (-1) should be [3.5 0 0]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (0) should be [2 0.5]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (0.25) should be [1.625 0.625 1.25]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (0.75) should be [0.875 0.875 1.75]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (1) should be [0.5 1 2]
Fail CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (2) should be [-1 1.5 3]
Pass CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (-1) should be [-1 1.5 3]
Pass CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (0) should be [0.5 1 2]
Pass CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (0.25) should be [0.875 0.875 1.75]
Pass CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (0.75) should be [1.625 0.625 1.25]
Pass CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (1) should be [2 0.5]
Pass CSS Animations: property <scale> from [inherit] to [2 0.5 1] at (2) should be [3.5 0 0]
Pass Web Animations: property <scale> from [inherit] to [2 0.5 1] at (-1) should be [-1 1.5 3]
Pass Web Animations: property <scale> from [inherit] to [2 0.5 1] at (0) should be [0.5 1 2]
Pass Web Animations: property <scale> from [inherit] to [2 0.5 1] at (0.25) should be [0.875 0.875 1.75]
Pass Web Animations: property <scale> from [inherit] to [2 0.5 1] at (0.75) should be [1.625 0.625 1.25]
Pass Web Animations: property <scale> from [inherit] to [2 0.5 1] at (1) should be [2 0.5]
Pass Web Animations: property <scale> from [inherit] to [2 0.5 1] at (2) should be [3.5 0 0]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (-1) should be [3.5 0 0]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (0) should be [2 0.5]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (0.25) should be [1.625 0.625 1.25]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (0.75) should be [0.875 0.875 1.75]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (1) should be [0.5 1 2]
Pass CSS Transitions: property <scale> from [2 0.5 1] to [inherit] at (2) should be [-1 1.5 3]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [inherit] at (-1) should be [3.5 0 0]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [inherit] at (0) should be [2 0.5]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [inherit] at (0.25) should be [1.625 0.625 1.25]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [inherit] at (0.75) should be [0.875 0.875 1.75]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [inherit] at (1) should be [0.5 1 2]
Pass CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [inherit] at (1) should be [0.5 1 2]
Fail CSS Transitions with transition: all: property <scale> from [2 0.5 1] to [inherit] at (2) should be [-1 1.5 3]
Fail CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (-1) should be [3.5 0 0]
Fail CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (0) should be [2 0.5]
Fail CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (0.25) should be [1.625 0.625 1.25]
Fail CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (0.75) should be [0.875 0.875 1.75]
Fail CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (1) should be [0.5 1 2]
Fail CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (2) should be [-1 1.5 3]
Fail Web Animations: property <scale> from [2 0.5 1] to [inherit] at (-1) should be [3.5 0 0]
Fail Web Animations: property <scale> from [2 0.5 1] to [inherit] at (0) should be [2 0.5]
Fail Web Animations: property <scale> from [2 0.5 1] to [inherit] at (0.25) should be [1.625 0.625 1.25]
Fail Web Animations: property <scale> from [2 0.5 1] to [inherit] at (0.75) should be [0.875 0.875 1.75]
Fail Web Animations: property <scale> from [2 0.5 1] to [inherit] at (1) should be [0.5 1 2]
Fail Web Animations: property <scale> from [2 0.5 1] to [inherit] at (2) should be [-1 1.5 3]
Fail CSS Transitions: property <scale> from [initial] to [inherit] at (-1) should be [1.5 1 0]
Fail CSS Transitions: property <scale> from [initial] to [inherit] at (0) should be [1]
Fail CSS Transitions: property <scale> from [initial] to [inherit] at (0.25) should be [0.875 1 1.25]
Fail CSS Transitions: property <scale> from [initial] to [inherit] at (0.75) should be [0.625 1 1.75]
Fail CSS Transitions: property <scale> from [initial] to [inherit] at (1) should be [0.5 1 2]
Fail CSS Transitions: property <scale> from [initial] to [inherit] at (2) should be [0 1 3]
Pass CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (-1) should be [3.5 0 0]
Pass CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (0) should be [2 0.5]
Pass CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (0.25) should be [1.625 0.625 1.25]
Pass CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (0.75) should be [0.875 0.875 1.75]
Pass CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (1) should be [0.5 1 2]
Pass CSS Animations: property <scale> from [2 0.5 1] to [inherit] at (2) should be [-1 1.5 3]
Pass Web Animations: property <scale> from [2 0.5 1] to [inherit] at (-1) should be [3.5 0 0]
Pass Web Animations: property <scale> from [2 0.5 1] to [inherit] at (0) should be [2 0.5]
Pass Web Animations: property <scale> from [2 0.5 1] to [inherit] at (0.25) should be [1.625 0.625 1.25]
Pass Web Animations: property <scale> from [2 0.5 1] to [inherit] at (0.75) should be [0.875 0.875 1.75]
Pass Web Animations: property <scale> from [2 0.5 1] to [inherit] at (1) should be [0.5 1 2]
Pass Web Animations: property <scale> from [2 0.5 1] to [inherit] at (2) should be [-1 1.5 3]
Pass CSS Transitions: property <scale> from [initial] to [inherit] at (-1) should be [1.5 1 0]
Pass CSS Transitions: property <scale> from [initial] to [inherit] at (0) should be [1]
Pass CSS Transitions: property <scale> from [initial] to [inherit] at (0.25) should be [0.875 1 1.25]
Pass CSS Transitions: property <scale> from [initial] to [inherit] at (0.75) should be [0.625 1 1.75]
Pass CSS Transitions: property <scale> from [initial] to [inherit] at (1) should be [0.5 1 2]
Pass CSS Transitions: property <scale> from [initial] to [inherit] at (2) should be [0 1 3]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [inherit] at (-1) should be [1.5 1 0]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [inherit] at (0) should be [1]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [inherit] at (0.25) should be [0.875 1 1.25]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [inherit] at (0.75) should be [0.625 1 1.75]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [inherit] at (1) should be [0.5 1 2]
Pass CSS Transitions with transition: all: property <scale> from [initial] to [inherit] at (1) should be [0.5 1 2]
Fail CSS Transitions with transition: all: property <scale> from [initial] to [inherit] at (2) should be [0 1 3]
Fail CSS Animations: property <scale> from [initial] to [inherit] at (-1) should be [1.5 1 0]
Fail CSS Animations: property <scale> from [initial] to [inherit] at (0) should be [1]
Fail CSS Animations: property <scale> from [initial] to [inherit] at (0.25) should be [0.875 1 1.25]
Fail CSS Animations: property <scale> from [initial] to [inherit] at (0.75) should be [0.625 1 1.75]
Fail CSS Animations: property <scale> from [initial] to [inherit] at (1) should be [0.5 1 2]
Fail CSS Animations: property <scale> from [initial] to [inherit] at (2) should be [0 1 3]
Fail Web Animations: property <scale> from [initial] to [inherit] at (-1) should be [1.5 1 0]
Fail Web Animations: property <scale> from [initial] to [inherit] at (0) should be [1]
Fail Web Animations: property <scale> from [initial] to [inherit] at (0.25) should be [0.875 1 1.25]
Fail Web Animations: property <scale> from [initial] to [inherit] at (0.75) should be [0.625 1 1.75]
Fail Web Animations: property <scale> from [initial] to [inherit] at (1) should be [0.5 1 2]
Fail Web Animations: property <scale> from [initial] to [inherit] at (2) should be [0 1 3]
Fail CSS Transitions: property <scale> from [inherit] to [initial] at (-1) should be [0 1 3]
Fail CSS Transitions: property <scale> from [inherit] to [initial] at (0) should be [0.5 1 2]
Fail CSS Transitions: property <scale> from [inherit] to [initial] at (0.25) should be [0.625 1 1.75]
Fail CSS Transitions: property <scale> from [inherit] to [initial] at (0.75) should be [0.875 1 1.25]
Fail CSS Transitions: property <scale> from [inherit] to [initial] at (1) should be [1]
Fail CSS Transitions: property <scale> from [inherit] to [initial] at (2) should be [1.5 1 0]
Pass CSS Animations: property <scale> from [initial] to [inherit] at (-1) should be [1.5 1 0]
Pass CSS Animations: property <scale> from [initial] to [inherit] at (0) should be [1]
Pass CSS Animations: property <scale> from [initial] to [inherit] at (0.25) should be [0.875 1 1.25]
Pass CSS Animations: property <scale> from [initial] to [inherit] at (0.75) should be [0.625 1 1.75]
Pass CSS Animations: property <scale> from [initial] to [inherit] at (1) should be [0.5 1 2]
Pass CSS Animations: property <scale> from [initial] to [inherit] at (2) should be [0 1 3]
Pass Web Animations: property <scale> from [initial] to [inherit] at (-1) should be [1.5 1 0]
Pass Web Animations: property <scale> from [initial] to [inherit] at (0) should be [1]
Pass Web Animations: property <scale> from [initial] to [inherit] at (0.25) should be [0.875 1 1.25]
Pass Web Animations: property <scale> from [initial] to [inherit] at (0.75) should be [0.625 1 1.75]
Pass Web Animations: property <scale> from [initial] to [inherit] at (1) should be [0.5 1 2]
Pass Web Animations: property <scale> from [initial] to [inherit] at (2) should be [0 1 3]
Pass CSS Transitions: property <scale> from [inherit] to [initial] at (-1) should be [0 1 3]
Pass CSS Transitions: property <scale> from [inherit] to [initial] at (0) should be [0.5 1 2]
Pass CSS Transitions: property <scale> from [inherit] to [initial] at (0.25) should be [0.625 1 1.75]
Pass CSS Transitions: property <scale> from [inherit] to [initial] at (0.75) should be [0.875 1 1.25]
Pass CSS Transitions: property <scale> from [inherit] to [initial] at (1) should be [1]
Pass CSS Transitions: property <scale> from [inherit] to [initial] at (2) should be [1.5 1 0]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [initial] at (-1) should be [0 1 3]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [initial] at (0) should be [0.5 1 2]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [initial] at (0.25) should be [0.625 1 1.75]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [initial] at (0.75) should be [0.875 1 1.25]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [initial] at (1) should be [1]
Fail CSS Transitions with transition: all: property <scale> from [inherit] to [initial] at (2) should be [1.5 1 0]
Fail CSS Animations: property <scale> from [inherit] to [initial] at (-1) should be [0 1 3]
Fail CSS Animations: property <scale> from [inherit] to [initial] at (0) should be [0.5 1 2]
Fail CSS Animations: property <scale> from [inherit] to [initial] at (0.25) should be [0.625 1 1.75]
Fail CSS Animations: property <scale> from [inherit] to [initial] at (0.75) should be [0.875 1 1.25]
Fail CSS Animations: property <scale> from [inherit] to [initial] at (1) should be [1]
Fail CSS Animations: property <scale> from [inherit] to [initial] at (2) should be [1.5 1 0]
Fail Web Animations: property <scale> from [inherit] to [initial] at (-1) should be [0 1 3]
Fail Web Animations: property <scale> from [inherit] to [initial] at (0) should be [0.5 1 2]
Fail Web Animations: property <scale> from [inherit] to [initial] at (0.25) should be [0.625 1 1.75]
Fail Web Animations: property <scale> from [inherit] to [initial] at (0.75) should be [0.875 1 1.25]
Fail Web Animations: property <scale> from [inherit] to [initial] at (1) should be [1]
Fail Web Animations: property <scale> from [inherit] to [initial] at (2) should be [1.5 1 0]
Pass CSS Animations: property <scale> from [inherit] to [initial] at (-1) should be [0 1 3]
Pass CSS Animations: property <scale> from [inherit] to [initial] at (0) should be [0.5 1 2]
Pass CSS Animations: property <scale> from [inherit] to [initial] at (0.25) should be [0.625 1 1.75]
Pass CSS Animations: property <scale> from [inherit] to [initial] at (0.75) should be [0.875 1 1.25]
Pass CSS Animations: property <scale> from [inherit] to [initial] at (1) should be [1]
Pass CSS Animations: property <scale> from [inherit] to [initial] at (2) should be [1.5 1 0]
Pass Web Animations: property <scale> from [inherit] to [initial] at (-1) should be [0 1 3]
Pass Web Animations: property <scale> from [inherit] to [initial] at (0) should be [0.5 1 2]
Pass Web Animations: property <scale> from [inherit] to [initial] at (0.25) should be [0.625 1 1.75]
Pass Web Animations: property <scale> from [inherit] to [initial] at (0.75) should be [0.875 1 1.25]
Pass Web Animations: property <scale> from [inherit] to [initial] at (1) should be [1]
Pass Web Animations: property <scale> from [inherit] to [initial] at (2) should be [1.5 1 0]

View file

@ -2,8 +2,8 @@ Harness status: OK
Found 22 tests
13 Pass
9 Fail
16 Pass
6 Fail
Pass Property scale value 'none'
Pass Property scale value '1'
Pass Property scale value '1%'
@ -23,6 +23,6 @@ Pass Property scale value '100 200'
Pass Property scale value '100% 200%'
Fail Property scale value '100 200 1'
Fail Property scale value '100% 200% 1'
Fail Property scale value '100 200 300'
Fail Property scale value '100 100 2'
Fail Property scale value '100% 200% 300%'
Pass Property scale value '100 200 300'
Pass Property scale value '100 100 2'
Pass Property scale value '100% 200% 300%'

View file

@ -2,8 +2,8 @@ Harness status: OK
Found 22 tests
13 Pass
9 Fail
16 Pass
6 Fail
Pass e.style['scale'] = "none" should set the property value
Pass e.style['scale'] = "1" should set the property value
Pass e.style['scale'] = "1%" should set the property value
@ -23,6 +23,6 @@ Pass e.style['scale'] = "100 200" should set the property value
Pass e.style['scale'] = "100% 200%" should set the property value
Fail e.style['scale'] = "100 200 1" should set the property value
Fail e.style['scale'] = "100% 200% 1" should set the property value
Fail e.style['scale'] = "100 200 300" should set the property value
Fail e.style['scale'] = "100 100 2" should set the property value
Fail e.style['scale'] = "100% 200% 300%" should set the property value
Pass e.style['scale'] = "100 200 300" should set the property value
Pass e.style['scale'] = "100 100 2" should set the property value
Pass e.style['scale'] = "100% 200% 300%" should set the property value