diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /testing/web-platform/tests/svg/animations/repeat-iteration-event-006.svg | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/svg/animations/repeat-iteration-event-006.svg')
-rw-r--r-- | testing/web-platform/tests/svg/animations/repeat-iteration-event-006.svg | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/animations/repeat-iteration-event-006.svg b/testing/web-platform/tests/svg/animations/repeat-iteration-event-006.svg new file mode 100644 index 0000000000..de4c8f1dae --- /dev/null +++ b/testing/web-platform/tests/svg/animations/repeat-iteration-event-006.svg @@ -0,0 +1,48 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <title>Animation triggers on 'repeatEvent' iteration</title> + <script xmlns="http://www.w3.org/1999/xhtml" src="/resources/testharness.js"/> + <script xmlns="http://www.w3.org/1999/xhtml" src="/resources/testharnessreport.js"/> + <g> + <animate id="anim" attributeName="visibility" to="visible" begin="0s" dur="2s" repeatCount="4"/> + <rect x="0" y="0" width="100" height="100" fill="green"> + <set attributeName="fill" to="red" begin="anim.repeat(0)"/> + </rect> + <rect x="200" y="0" width="100" height="100" fill="red"> + <set attributeName="fill" to="green" begin="anim.repeat(1)"/> + </rect> + <rect x="0" y="200" width="100" height="100" fill="red"> + <set attributeName="fill" to="green" begin="anim.repeat(2)"/> + </rect> + <rect x="200" y="200" width="100" height="100" fill="red"> + <set attributeName="fill" to="green" begin="anim.repeat(3)"/> + </rect> + </g> + <script> + promise_test(t => { + let svg = document.documentElement; + let anim = document.getElementById('anim'); + let animWatcher = new EventWatcher(t, anim, ['beginEvent', 'repeatEvent']); + // Wait for #anims 'beginEvent' and then step through the + // 'repeatEvents' one at a time. + let stepsPromise = animWatcher.wait_for('beginEvent').then(() => { + svg.setCurrentTime(1.99); + return animWatcher.wait_for('repeatEvent'); + }).then(() => { + svg.setCurrentTime(3.99); + return animWatcher.wait_for('repeatEvent'); + }).then(() => { + svg.setCurrentTime(5.99); + return animWatcher.wait_for('repeatEvent'); + }); + let setElements = document.getElementsByTagName('set'); + let setBeginWatchers = Array.from(setElements).map(element => { + return new EventWatcher(t, element, 'beginEvent'); + }); + // Expect 'beginEvent' to be dispatched for all but the first 'set' element. + let beginPromises = setBeginWatchers.slice(1).map(watcher => { + return watcher.wait_for('beginEvent'); + }) + return Promise.all([stepsPromise, ...beginPromises]); + }); + </script> +</svg> |