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/css/css-animations/CSSAnimation-getCurrentTime.tentative.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/css/css-animations/CSSAnimation-getCurrentTime.tentative.html')
-rw-r--r-- | testing/web-platform/tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html b/testing/web-platform/tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html new file mode 100644 index 0000000000..e4d1f859fd --- /dev/null +++ b/testing/web-platform/tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html @@ -0,0 +1,68 @@ +<!doctype html> +<meta charset=utf-8> +<title>CSSAnimation.currentTime</title> +<!-- TODO: Add a more specific link for this once it is specified. --> +<link rel="help" href="https://drafts.csswg.org/css-animations-2/#cssanimation"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="support/testcommon.js"></script> +<style> + +.animated-div { + margin-left: 10px; + /* Make it easier to calculate expected values: */ + animation-timing-function: linear ! important; +} + +@keyframes anim { + from { margin-left: 100px; } + to { margin-left: 200px; } +} + +</style> +<div id="log"></div> +<script type="text/javascript"> + +'use strict'; + +promise_test(async t => { + const div = addDiv(t, { class: 'animated-div' }); + div.style.animation = 'anim 100s'; + const animation = div.getAnimations()[0]; + + assert_equals( + animation.currentTime, + 0, + 'Animation.currentTime should be zero when an animation ' + + 'is initially created' + ); + + await animation.ready; + + animation.currentTime = 50 * MS_PER_SEC; + + assert_time_equals_literal( + animation.currentTime, + 50 * MS_PER_SEC, + 'Check setting of currentTime actually works' + ); + assert_equals(getComputedStyle(div).marginLeft, '150px'); +}, 'currentTime can be used to seek a CSS animation'); + +promise_test(async t => { + const div = addDiv(t, { class: 'animated-div' }); + div.style.animation = 'anim 100s'; + + const animation = div.getAnimations()[0]; + await animation.ready; + + assert_throws_js( + TypeError, + () => { + animation.currentTime = null; + }, + 'Expect TypeError exception on trying to set Animation.currentTime to null' + ); +}, 'Setting currentTime to null on a CSS animation throws'); + +</script> |