summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/web-animations/interfaces/AnimationEffectTiming/iterations.html
blob: 1ba41028b2255c78f897841cbd61ecd5a8c5ff6d (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<meta charset=utf-8>
<title>iterations tests</title>
<link rel="help" href="https://w3c.github.io/web-animations/#dom-animationeffecttiming-iterations">
<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';

test(function(t) {
  var div = createDiv(t);
  var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
  anim.effect.timing.iterations = 2;
  assert_equals(anim.effect.timing.iterations, 2, 'set duration 2');
  assert_equals(anim.effect.getComputedTiming().iterations, 2,
                       'getComputedTiming() after set iterations 2');
}, 'set iterations 2');

test(function(t) {
  var div = createDiv(t);
  var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
  anim.effect.timing.iterations = Infinity;
  assert_equals(anim.effect.timing.iterations, Infinity, 'set duration Infinity');
  assert_equals(anim.effect.getComputedTiming().iterations, Infinity,
                       'getComputedTiming() after set iterations Infinity');
}, 'set iterations Infinity');

test(function(t) {
  var div = createDiv(t);
  var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
  assert_throws({ name: 'TypeError' }, function() {
    anim.effect.timing.iterations = -1;
  });
}, 'set negative iterations');

test(function(t) {
  var div = createDiv(t);
  var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
  assert_throws({ name: 'TypeError' }, function() {
    anim.effect.timing.iterations = -Infinity;
  });
}, 'set negative infinity iterations ');

test(function(t) {
  var div = createDiv(t);
  var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
  assert_throws({ name: 'TypeError' }, function() {
    anim.effect.timing.iterations = NaN;
  });
}, 'set NaN iterations');

</script>
</body>