diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/svg/animations/dependent-end-on-syncbase.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/svg/animations/dependent-end-on-syncbase.html')
-rw-r--r-- | testing/web-platform/tests/svg/animations/dependent-end-on-syncbase.html | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/animations/dependent-end-on-syncbase.html b/testing/web-platform/tests/svg/animations/dependent-end-on-syncbase.html new file mode 100644 index 0000000000..4879e5f6ce --- /dev/null +++ b/testing/web-platform/tests/svg/animations/dependent-end-on-syncbase.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<title>Dependent timed element end on syncbase</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<svg> + <rect width="10" height="10" fill="blue"> + <set attributeName="fill" to="yellow" end="other.end" id="dependent"/> + </rect> + <rect x="10" width="10" height="10" fill="blue"> + <animate attributeName="fill" from="yellow" to="red" + begin="indefinite" dur="10ms" id="other"/> + </rect> +</svg> +<script> + async_test(t => { + let count = 0; + let dependent = document.getElementById('dependent'); + dependent.addEventListener('endEvent', t.step_func(() => count++)); + let other = document.getElementById('other'); + // Wait for #other to end and check animation values. + other.addEventListener('endEvent', t.step_func(() => { + t.step_timeout(() => { + assert_equals(count, 1); + assert_equals(getComputedStyle(dependent, null).fill, 'rgb(0, 0, 255)'); + assert_equals(getComputedStyle(other, null).fill, 'rgb(0, 0, 255)'); + t.done(); + }); + })); + let svg = other.ownerSVGElement; + // Check initial values. + window.onload = t.step_func(() => { + window.requestAnimationFrame(t.step_func(() => { + assert_equals(count, 0); + assert_equals(getComputedStyle(dependent, null).fill, 'rgb(255, 255, 0)'); + assert_equals(getComputedStyle(other, null).fill, 'rgb(0, 0, 255)'); + svg.unpauseAnimations(); + })); + }); + svg.pauseAnimations(); + other.beginElementAt(0.01); + }); +</script> |