blob: 61c28e7b7f4603ebeee3c0c4457d185582f01e9a [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test animation with missing from and to keyframes</title>
<style type="text/css" media="screen">
.box {
position: relative;
left: 10px;
top: 10px;
height: 20px;
width: 20px;
transform: translateX(10px);
background-color: blue;
animation-duration: 2s;
animation-timing-function: linear;
}
#box1 {
animation-name: anim1;
}
@keyframes anim1 {
from { transform: translateX(10px); }
40% { transform: translateX(30px); }
60% { transform: translateX(10px); }
to { transform: translateX(20px); }
}
#box2 {
animation-name: anim2;
background-color: red;
}
@keyframes anim2 {
40% { transform: translateX(30px); }
60% { transform: translateX(10px); }
to { transform: translateX(20px); }
}
#box3 {
transform: translateX(20px);
animation-name: anim3;
background-color: green;
}
@keyframes anim3 {
from { transform: translateX(10px); }
40% { transform: translateX(30px); }
60% { transform: translateX(10px); }
}
#box4 {
animation-name: anim4;
background-color: yellow;
}
@keyframes anim4 {
40% { transform: translateX(30px); }
60% { transform: translateX(20px); }
}
#result {
margin-top: 20px;
}
</style>
<script src="resources/animation-test-helpers.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
const expectedValues = [
// [time, element-id, property, expected-value, tolerance]
[0.4, "box1", "transform.4", 20, 2],
[1.0, "box1", "transform.4", 20, 2],
[1.6, "box1", "transform.4", 15, 2],
[0.4, "box2", "transform.4", 20, 2],
[1.0, "box2", "transform.4", 20, 2],
[1.6, "box2", "transform.4", 15, 2],
[0.4, "box3", "transform.4", 20, 2],
[1.0, "box3", "transform.4", 20, 2],
[1.6, "box3", "transform.4", 15, 2],
[0.4, "box4", "transform.4", 20, 2],
[1.0, "box4", "transform.4", 25, 2],
[1.6, "box4", "transform.4", 15, 2]
];
runAnimationTest(expectedValues);
</script>
</head>
<body>
This test performs animations of the transform property on four boxes over 2 seconds.
Box 1 has all keyframes. Box 2 has a missing "from" keyframe.
Box 3 has a missing "to" keyframe.
Box 4 has both "from" and "to" keyframes missing, but other keyframes which
should trigger the generation of "from" and "to". Box 5 has no keyframes, and
should not animate.
The test takes 3 snapshots each and expects each result to be within a specified range.
<div class="box" id="box1">
</div>
<div class="box" id="box2">
</div>
<div class="box" id="box3">
</div>
<div class="box" id="box4">
</div>
<div id="result">
</div>
</body>
</html>