blob: 3e8f923d544adb54a60193ffd42c097077334d38 [file] [log] [blame]
<!DOCTYPE html>
<meta charset=utf-8>
<title>Animation.play</title>
<link rel="help" href="https://drafts.csswg.org/web-animations/#dom-animation-play">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../testcommon.js"></script>
<body>
<div id="log"></div>
<script>
'use strict';
promise_test(t => {
const div = createDiv(t);
const animation = div.animate({ transform: ['none', 'translate(10px)']},
{ duration: 100 * MS_PER_SEC,
iterations: Infinity });
return animation.ready.then(() => {
// Seek to a time outside the active range so that play() will have to
// snap back to the start
animation.currentTime = -5 * MS_PER_SEC;
animation.playbackRate = -1;
assert_throws('InvalidStateError',
() => { animation.play(); },
'Expected InvalidStateError exception on calling play() ' +
'with a negative playbackRate and infinite-duration ' +
'animation');
});
}, 'play() throws when seeking an infinite-duration animation played in ' +
'reverse');
</script>
</body>