| <!doctype html> |
| <meta charset=utf-8> |
| <title>KeyframeEffect.iterationComposite</title> |
| <link rel="help" href="https://drafts.csswg.org/web-animations/#dom-keyframeeffect-iterationcomposite"> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script src="../../testcommon.js"></script> |
| <div id="log"></div> |
| <script> |
| 'use strict'; |
| |
| test(t => { |
| const div = createDiv(t); |
| const anim = div.animate({ marginLeft: ['0px', '10px'] }, |
| { duration: 100 * MS_PER_SEC, |
| easing: 'linear', |
| iterations: 10, |
| iterationComposite: 'accumulate' }); |
| anim.pause(); |
| |
| anim.currentTime = |
| anim.effect.getComputedTiming().duration * 2 + |
| anim.effect.getComputedTiming().duration / 2; |
| assert_equals(getComputedStyle(div).marginLeft, '25px', |
| 'Animated style at 50s of the third iteration'); |
| |
| anim.effect.iterationComposite = 'replace'; |
| assert_equals(getComputedStyle(div).marginLeft, '5px', |
| 'Animated style at 50s of the third iteration'); |
| |
| anim.effect.iterationComposite = 'accumulate'; |
| assert_equals(getComputedStyle(div).marginLeft, '25px', |
| 'Animated style at 50s of the third iteration'); |
| }, 'iterationComposite can be updated while an animation is in progress'); |
| |
| </script> |