<!DOCTYPE html>
<title>SVGSVGElement.getCurrentTime() with setCurrentTime() when animation is paused and unpaused</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<svg height="0">
<rect fill="green" width="20" height="20">
<animate attributeName="x" from="0" to="200" begin="0s" dur="3s"></animate>
</rect>
</svg>
<script>
async_test(t => {
window.onload = t.step_func(() => {
let svg = document.querySelector("svg");
svg.pauseAnimations();
assert_equals(svg.getCurrentTime(), 0, 'initial');
t.step_timeout(t.step_func(() => {
svg.setCurrentTime(0.5);
assert_approx_equals(svg.getCurrentTime(), 0.5, 0.01);
svg.unpauseAnimations();
t.step_timeout(t.step_func(() => {
svg.setCurrentTime(1);
assert_approx_equals(svg.getCurrentTime(), 1, 0.01);
svg.pauseAnimations();
t.step_timeout(t.step_func(() => {
svg.setCurrentTime(2);
assert_approx_equals(svg.getCurrentTime(), 2, 0.01);
svg.unpauseAnimations();
t.step_timeout(t.step_func_done(() => {
svg.setCurrentTime(3.5);
assert_approx_equals(svg.getCurrentTime(), 3.5, 0.01);
}), 20);
}), 20);
}), 0);
}), 0);
});
});
</script>