<!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>