summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/web-animations/interfaces/Animation/play.html
blob: 767d8df17076ca49e65f336c4f18af73ec6bd41d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<meta charset=utf-8>
<title>Animation.play()</title>
<link rel="help" href="https://w3c.github.io/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(function(t) {
  var div = createDiv(t);
  var animation = div.animate({ transform: ['none', 'translate(10px)']},
                              { duration : 100 * MS_PER_SEC,
                                iterations : Infinity});
  return animation.ready.then(function() {
    // 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',
                  function () { 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>