mirror of
https://github.com/servo/servo.git
synced 2025-06-10 01:23:13 +00:00
55 lines
1.9 KiB
HTML
55 lines
1.9 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>CSSAnimation.playState</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>
|
|
@keyframes anim { }
|
|
</style>
|
|
<div id="log"></div>
|
|
<script>
|
|
'use strict';
|
|
|
|
test(t => {
|
|
const div = addDiv(t, { 'style': 'animation: anim 100s' });
|
|
const animation = div.getAnimations()[0];
|
|
assert_true(animation.pending);
|
|
assert_equals(animation.playState, 'running');
|
|
assert_equals(animation.startTime, null);
|
|
}, 'A new CSS animation is initially play-pending');
|
|
|
|
test(t => {
|
|
const div = addDiv(t, { 'style': 'animation: anim 1000s paused' });
|
|
const animation = div.getAnimations()[0];
|
|
assert_equals(animation.playState, 'paused');
|
|
}, 'Animation returns correct playState when paused');
|
|
|
|
test(t => {
|
|
const div = addDiv(t, { 'style': 'animation: anim 1000s' });
|
|
const animation = div.getAnimations()[0];
|
|
animation.pause();
|
|
assert_equals(animation.playState, 'paused');
|
|
}, 'Animation.playState updates when paused by script');
|
|
|
|
test(t => {
|
|
const div = addDiv(t, { 'style': 'animation: anim 1000s paused' });
|
|
const animation = div.getAnimations()[0];
|
|
div.style.animationPlayState = 'running';
|
|
|
|
// This test also checks that calling playState flushes style
|
|
assert_equals(animation.playState, 'running',
|
|
'Animation.playState reports running after updating'
|
|
+ ' animation-play-state (got: ' + animation.playState + ')');
|
|
}, 'Animation.playState updates when resumed by setting style');
|
|
|
|
test(t => {
|
|
const div = addDiv(t, { 'style': 'animation: anim 1000s' });
|
|
const animation = div.getAnimations()[0];
|
|
animation.cancel();
|
|
assert_equals(animation.playState, 'idle');
|
|
}, 'Animation returns correct playState when canceled');
|
|
|
|
</script>
|