blob: e3beec23b117fc9e10fdd32a132d1bc40933d4a2 [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;
background-color: blue;
animation-duration: 2s;
animation-timing-function: linear;
}
#box1 {
animation-name: anim1;
}
@keyframes anim1 {
from { left: 10px; }
40% { left: 30px; }
60% { left: 10px; }
to { left: 20px; }
}
#box2 {
animation-name: anim2;
background-color: red;
}
@keyframes anim2 {
40% { left: 30px; }
60% { left: 10px; }
to { left: 20px; }
}
#box3 {
left: 20px;
animation-name: anim3;
background-color: green;
}
@keyframes anim3 {
from { left: 10px; }
40% { left: 30px; }
60% { left: 10px; }
}
#box4 {
animation-name: anim4;
background-color: yellow;
}
@keyframes anim4 {
40% { left: 30px; }
60% { left: 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", "left", 20, 2],
[1.0, "box1", "left", 20, 2],
[1.6, "box1", "left", 15, 2],
[0.4, "box2", "left", 20, 2],
[1.0, "box2", "left", 20, 2],
[1.6, "box2", "left", 15, 2],
[0.4, "box3", "left", 20, 2],
[1.0, "box3", "left", 20, 2],
[1.6, "box3", "left", 15, 2],
[0.4, "box4", "left", 20, 2],
[1.0, "box4", "left", 25, 2],
[1.6, "box4", "left", 15, 2]
];
runAnimationTest(expectedValues);
</script>
</head>
<body>
This test performs animations of the left 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".
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>