diff options
Diffstat (limited to 'testing/web-platform/tests/svg/animations/slider-switch.html')
-rw-r--r-- | testing/web-platform/tests/svg/animations/slider-switch.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/svg/animations/slider-switch.html b/testing/web-platform/tests/svg/animations/slider-switch.html new file mode 100644 index 0000000000..59aa8f29ca --- /dev/null +++ b/testing/web-platform/tests/svg/animations/slider-switch.html @@ -0,0 +1,47 @@ +<!doctype html> +<title>Check correct event bases for onclick</title> +<meta charset="utf-8"> +<link rel="help" href="https://svgwg.org/svg2-draft/single-page.html#interact-EventAttributes"> +<link rel="author" title="Edvard Thörnros" href="mailto:edvardt@opera.com"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<svg width="200" height="100"> + <rect x="0" y="0" width="100" height="100" id="a" fill="#0AA"> + <set begin="a.click" attributeName="display" to="none" fill="freeze"/> + <set begin="b.click" attributeName="display" to="block" fill="freeze"/> + </rect> + <rect x="100" y="0" width="100" height="100" id="b" display="none" fill="#A0A"> + <set begin="a.click" attributeName="display" to="block" fill="freeze"/> + <set begin="b.click" attributeName="display" to="none" fill="freeze"/> + </rect> +</svg> +<script> + let clicks_remaining = 2; + let a = document.querySelector("#a"); + let b = document.querySelector("#b"); + function perform_clicks(t) { + t.step_timeout(function() { + a.dispatchEvent(new Event("click")); + t.step_timeout(function() { + b.dispatchEvent(new Event("click")); + }, 20); + }, 20); + } + async_test(t => { + let observer = document.querySelector("#b > set + set"); + observer.addEventListener('beginEvent', t.step_func(function() { + if (clicks_remaining == 0) { + assert_equals(window.getComputedStyle(a).display, "block"); + assert_equals(window.getComputedStyle(b).display, "none"); + t.done(); + return; + } + perform_clicks(t); + clicks_remaining--; + })); + window.onload = t.step_func(() => { + perform_clicks(t); + clicks_remaining--; + }); + }); +</script> |