diff options
Diffstat (limited to 'testing/web-platform/tests/web-animations/crashtests/infinite-active-duration.html')
-rw-r--r-- | testing/web-platform/tests/web-animations/crashtests/infinite-active-duration.html | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/testing/web-platform/tests/web-animations/crashtests/infinite-active-duration.html b/testing/web-platform/tests/web-animations/crashtests/infinite-active-duration.html new file mode 100644 index 0000000000..f92cd13942 --- /dev/null +++ b/testing/web-platform/tests/web-animations/crashtests/infinite-active-duration.html @@ -0,0 +1,68 @@ +<!DOCTYPE html> +<title>Various test cases producing infinite active duration</title> +<link rel="help" href="https://drafts.csswg.org/css-animations-1/#animation-iteration-count" /> +<script> + let effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, delay: -17592186044416, iterations: Infinity }); + effect.getComputedTiming(); + + // Infinity delay + Infinity active duration + effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, delay: Number.MAX_VALUE, iterations: Infinity }); + effect.getComputedTiming(); + + // Infinity end delay + Infinity active duration + effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, endDelay: Number.MAX_VALUE, iterations: Infinity }); + effect.getComputedTiming(); + + // Infinity delay + Infinity active duration + Infinity end delay + effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, + delay: Number.MAX_VALUE, endDelay: Number.MAX_VALUE, + iterations: Infinity }); + effect.getComputedTiming(); + + // -Infinity delay + Infinity active duration + effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, delay: -Number.MAX_VALUE, iterations: Infinity }); + effect.getComputedTiming(); + + // -Infinity end delay + Infinity active duration + effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, endDelay: -Number.MAX_VALUE, iterations: Infinity }); + effect.getComputedTiming(); + + // -Infinity delay + Infinity active duration + -Infinity end delay + effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, + delay: -Number.MAX_VALUE, endDelay: -Number.MAX_VALUE, + iterations: Infinity }); + effect.getComputedTiming(); + + // -Infinity delay + finite active duration + effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, delay: -Number.MAX_VALUE, iterations: 1 }); + effect.getComputedTiming(); + + // -Infinity end delay + finite active duration + effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, endDelay: -Number.MAX_VALUE, iterations: 1 }); + effect.getComputedTiming(); + + // very large iterations + effect = new KeyframeEffect(null, + { opacity: [0, 1] }, + { duration: 1, delay: 281474976710655, iterations: 18014398509481984 }); + effect.getComputedTiming(); + +</script> |