blob: 3a7a4f9c5bdad1e937cde93a490e125dc80132be [file] [log] [blame]
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test of animation-play-state</title>
<style type="text/css" media="screen">
body {
margin: 0;
}
#box {
position: absolute;
left: 0px;
top: 100px;
height: 100px;
width: 100px;
background-color: red;
margin: 0;
animation-duration: 500ms;
animation-direction: reverse;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-name: "move1";
}
@keyframes move1 {
from { margin-left: 0px; }
to { margin-left: 200px; }
}
</style>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="resources/animation-test.js"></script>
</head>
<body>
<div id="box"></div>
<script>
async_test(async t => {
const delay = 100;
const test = new AnimationTest({
target: document.getElementById("box"),
styleExtractor: style => parseFloat(style.marginLeft)
});
// Record two computed values after the specified delay each.
await test.recordValueAfterRunningFor(delay);
await test.recordValueAfterRunningFor(delay);
// We'll now pause the animation using the CSS property "animation-play-state".
box.style.animationPlayState = "paused";
// And now we'll record values after 250ms each and check that those are the same.
const initialPausedValue = await test.valueAfterWaitingFor(delay);
const currentPausedValue = await test.valueAfterWaitingFor(delay);
assert_equals(initialPausedValue, currentPausedValue, "Values recorded while paused are the same.");
// Finally, check the values recorded earlier in the test.
test.checkRecordedValues();
t.done();
}, `Pausing an animation using the animation-play-state property stops animating styles with animation-direction: reverse.`);
</script>
</body>
</html>