summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/svg/animations/repeat-iteration-event-006.svg
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /testing/web-platform/tests/svg/animations/repeat-iteration-event-006.svg
parentInitial commit. (diff)
downloadfirefox-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.svg48
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>