blob: 6d648cfcbace9d3eeb1954910278d3988c6cde9e [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>cubic-bezier value overflow: Transforms</title>
<style>
.box {
position: relative;
left: 0;
height: 100px;
width: 100px;
margin: 10px;
background-color: blue;
-webkit-transition: -webkit-transform 1s linear;
-webkit-transform: rotate(0deg);
}
.animating > .box {
-webkit-transform: rotate(180deg);
}
</style>
<script src="../animations/resources/animation-test-helpers.js"></script>
<script>
function DegreesToRotation(angle) {
return roundNumber(Math.cos(angle * Math.PI / 180), 5);
}
const expectedValues = [
// [time, element-id, property, expected-value, tolerance]
[0.5, "box1", "-webkit-transform.0", DegreesToRotation(137), 0.3],
[0.95, "box1", "-webkit-transform.0", DegreesToRotation(190), 0.3],
[0.10, "box2", "-webkit-transform.0", DegreesToRotation(-27), 0.3],
[0.50, "box2", "-webkit-transform.0", DegreesToRotation(75), 0.3],
[0.95, "box2", "-webkit-transform.0", DegreesToRotation(193), 0.3],
[0.10, "box3", "-webkit-transform.0", DegreesToRotation(-68), 0.3],
[0.50, "box3", "-webkit-transform.0", DegreesToRotation(-203), 0.3],
[0.15, "box4", "-webkit-transform.0", DegreesToRotation(231), 0.3],
[0.50, "box4", "-webkit-transform.0", DegreesToRotation(80), 0.3],
[0.80, "box4", "-webkit-transform.0", DegreesToRotation(48), 0.3],
];
function setupTest() {
document.getElementById('container').className = 'animating';
}
runTransitionTest(expectedValues, setupTest);
</script>
</head>
<body>
<div id="container">
<div class="box" id="box1" style="-webkit-transition-timing-function: cubic-bezier(0.3, 1.5, 0.8, 1.5);"></div>
<div class="box" id="box2" style="-webkit-transition-timing-function: cubic-bezier(0.4, -0.8, 0.7, 1.7);"></div>
<div class="box" id="box3" style="-webkit-transition-timing-function: cubic-bezier(0.7, -2, 1, -1.5);"></div>
<div class="box" id="box4" style="-webkit-transition-timing-function: cubic-bezier(0, 4, 1, -3);"></div>
</div>
<div id="result"></div>
</body>
</html>