blob: d5f0894824581f4f96f2171328c10098078b4b70 [file] [log] [blame]
<!DOCTYPE html>
<meta charset="UTF-8">
<style>
.parent {
scale: 0.5 1 2
}
.target {
width: 10px;
height: 10px;
background-color: black;
scale: 1.1;
}
.expected {
background-color: green;
}
</style>
<template id="target-template">
<div class="parent">
<div class="target"></div>
</div>
</template>
<script src="resources/interpolation-test.js"></script>
<script>
assertInterpolation({
property: 'scale',
from: neutralKeyframe,
to: '1.5',
}, [
{at: -1, is: '0.7 0.7'},
{at: 0, is: '1.1 1.1'},
{at: 0.25, is: '1.2 1.2'},
{at: 0.75, is: '1.4 1.4'},
{at: 1, is: '1.5 1.5'},
{at: 2, is: '1.9 1.9'},
]);
assertInterpolation({
property: 'scale',
from: 'unset',
to: '1.5',
}, [
{at: -1, is: '0.5 0.5'},
{at: 0, is: '1'},
{at: 0.25, is: '1.125 1.125'},
{at: 0.75, is: '1.375 1.375'},
{at: 1, is: '1.5 1.5'},
{at: 2, is: '2 2'},
]);
assertInterpolation({
property: 'scale',
from: '-10',
to: '10',
}, [
{at: -1, is: '-30'},
{at: 0, is: '-10'},
{at: 0.25, is: '-5'},
{at: 0.75, is: '5'},
{at: 1, is: '10'},
{at: 2, is: '30'},
]);
assertInterpolation({
property: 'scale',
from: '-10 5',
to: '10 -5',
}, [
{at: -1, is: '-30 15'},
{at: 0, is: '-10 5'},
{at: 0.25, is: '-5 2.5'},
{at: 0.75, is: '5 -2.5'},
{at: 1, is: '10 -5'},
{at: 2, is: '30 -15'},
]);
assertInterpolation({
property: 'scale',
from: '-10 5 1',
to: '10 -5 0',
}, [
{at: -1, is: '-30 15 2'},
{at: 0, is: '-10 5 1'},
{at: 0.25, is: '-5 2.5 0.75'},
{at: 0.75, is: '5 -2.5 0.25'},
{at: 1, is: '10 -5 0'},
{at: 2, is: '30 -15 -1'},
]);
assertInterpolation({
property: 'scale',
from: '1',
to: '10 -5 0',
}, [
{at: -1, is: '-8 7 2'},
{at: 0, is: '1'},
{at: 0.25, is: '3.25 -0.5 0.75'},
{at: 0.75, is: '7.75 -3.5 0.25'},
{at: 1, is: '10 -5 0'},
{at: 2, is: '19 -11 -1'},
]);
assertInterpolation({
property: 'scale',
from: '-10 5 1',
to: '1',
}, [
{at: -1, is: '-21 9'},
{at: 0, is: '-10 5'},
{at: 0.25, is: '-7.25 4'},
{at: 0.75, is: '-1.75 2'},
{at: 1, is: '1'},
{at: 2, is: '12 -3'},
]);
assertInterpolation({
property: 'scale',
from: 'inherit',
to: '2 0.5 1',
}, [
{at: -1, is: '-1 1.5 3'},
{at: 0, is: '0.5 1 2'},
{at: 0.25, is: '0.875 0.875 1.75'},
{at: 0.75, is: '1.625 0.625 1.25'},
{at: 1, is: '2 0.5 1'},
{at: 2, is: '3.5 0 0'},
]);
assertInterpolation({
property: 'scale',
from: '2 0.5 1',
to: 'inherit',
}, [
{at: -1, is: '3.5 0 0'},
{at: 0, is: '2 0.5 1'},
{at: 0.25, is: '1.625 0.625 1.25'},
{at: 0.75, is: '0.875 0.875 1.75'},
{at: 1, is: '0.5 1 2'},
{at: 2, is: '-1 1.5 3'},
]);
assertInterpolation({
property: 'scale',
from: 'initial',
to: '2 0.5 1',
}, [
{at: -1, is: '0 1.5'},
{at: 0, is: '1'},
{at: 0.25, is: '1.25 0.875'},
{at: 0.75, is: '1.75 0.625'},
{at: 1, is: '2 0.5'},
{at: 2, is: '3 0'},
]);
assertInterpolation({
property: 'scale',
from: '2 0.5 1',
to: 'initial',
}, [
{at: -1, is: '3 0'},
{at: 0, is: '2 0.5 1'},
{at: 0.25, is: '1.75 0.6251'},
{at: 0.75, is: '1.25 0.875'},
{at: 1, is: '1 1 1'},
{at: 2, is: '0 1.5'},
]);
assertInterpolation({
property: 'scale',
from: 'initial',
to: 'inherit',
}, [
{at: -1, is: '1.5 1 0'},
{at: 0, is: '1'},
{at: 0.25, is: '0.875 1 1.25'},
{at: 0.75, is: '0.625 1 1.75'},
{at: 1, is: '0.5 1 2'},
{at: 2, is: '0 1 3'},
]);
assertInterpolation({
property: 'scale',
from: 'inherit',
to: 'initial',
}, [
{at: -1, is: '0 1 3'},
{at: 0, is: '0.5 1 2'},
{at: 0.25, is: '0.625 1 1.75'},
{at: 0.75, is: '0.875 1 1.25'},
{at: 1, is: '1 1 1'},
{at: 2, is: '1.5 1 0'},
]);
</script>