LibWeb: Implement interpolation for CSS scale values
Some checks are pending
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run

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
commit cf704cfbfc
Notes: github-actions[bot] 2025-04-25 14:45:11 +00:00
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