blob: 14165d0214b7de80b3eddbe6dac9e1ddce60bc30 [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>Transition Between Transform Operation Lists Which Don't Match</title>
<style type="text/css" media="screen">
#box {
height: 100px;
width: 100px;
background-color: blue;
-webkit-transform: translateX(0px) rotate(0deg);
-webkit-transition-duration: 2s;
-webkit-transition-timing-function: linear;
-webkit-transition-property: -webkit-transform;
}
</style>
<script src="transition-test-helpers.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
function DegreesToRotation(angle)
{
return roundNumber(Math.cos(angle * Math.PI / 180), 5);
}
const expectedValues = [
// [time, element-id, property, expected-value, tolerance]
[0.5, "box", "-webkit-transform.0", DegreesToRotation(45), DegreesToRotation(10)],
[1.0, "box", "-webkit-transform.0", DegreesToRotation(90), DegreesToRotation(10)],
];
function setupTest()
{
var box = document.getElementById('box');
box.style.webkitTransform = 'rotate(540deg)';
}
runTransitionTest(expectedValues, setupTest, true);
</script>
</head>
<body>
<p>
Box should spin only 180 degrees even though the operation specifies a 0 to 540 degree animation.
This is because the operation lists don't match, so it falls back to matrix animation, which
normalizes the angle to between 0 and 360 degrees.
</p>
<div id="box">
</div>
<div id="result">
</div>
</body>
</html>