blob: fac0d47308293835415195eb37f398c679e4e292 [file] [log] [blame]
<!DOCTYPE html>
<meta charset=utf-8>
<title>Tests for effect clipping via negative end delay</title>
<link rel="help" href="http://w3c.github.io/web-animations/#calculating-the-active-time">
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="../imported/wpt/web-animations/testcommon.js"></script>
<body>
<script>
'use strict';
test(function(t) {
var animation = createDiv(t).animate(null, {
fill: 'forwards',
duration: 1,
endDelay: -1,
});
animation.currentTime = 10;
assert_equals(animation.effect.getComputedTiming().progress, 0,
'Progress should be zero since we clip to the start of the animation');
}, 'Negative end delay clipping into the start of the animation');
test(function(t) {
var animation = createDiv(t).animate(null, {
fill: 'forwards',
duration: 1,
iterations: 2,
endDelay: -1,
});
animation.currentTime = 10;
assert_equals(animation.effect.getComputedTiming().progress, 1,
'Progress should be 1 since we clip to the end of the first iteration ' +
'and the second iteration does not have a chance to start');
}, 'Negative end delay clipping to the end of the the first iteration');
test(function(t) {
var animation = createDiv(t).animate(null, {
fill: 'forwards',
duration: 1,
iterations: 2,
endDelay: -0.75,
});
animation.currentTime = 10;
assert_equals(animation.effect.getComputedTiming().progress, 0.25,
'Progress should be 0.25 since we clip part way through the second iteration');
}, 'Negative end delay clipping part way into the second iteration');
test(function(t) {
var animation = createDiv(t).animate(null, {
fill: 'forwards',
duration: 1,
iterations: 0,
endDelay: -1,
});
animation.currentTime = 10;
assert_equals(animation.effect.getComputedTiming().progress, 0,
'Progress should be 0 since there are no iterations to make progress in');
}, 'Negative end delay clipping into zero iterations');
</script>
</body>