blob: c5616833c15120574564ba885b81a43eb5bbd940 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/ahem.js"></script>
<style>
:root {
font: 10px Ahem;
}
</style>
</head>
<body>
<template id="target-template">
<svg width="200px" height="300px" viewBox="0 0 1500 1000">
<rect class="target" x="10" y="10" width="10" height="10" />
</svg>
</template>
<script src="resources/interpolation-test.js"></script>
<script>
'use strict';
assertAttributeInterpolation({
property: 'width',
from: 10,
to: 60
}, [
{at: -0.4, is: 0},
{at: 0, is: 10},
{at: 0.2, is: 20},
{at: 0.6, is: 40},
{at: 1, is: 60},
{at: 1.4, is: 80}
]);
assertAttributeInterpolation({
property: 'width',
from: '10%',
to: '60%'
}, [
{at: -0.4, is: '0%'},
{at: 0, is: '10%'},
{at: 0.2, is: '20%'},
{at: 0.6, is: '40%'},
{at: 1, is: '60%'},
{at: 1.4, is: '80%'}
]);
assertAttributeInterpolation({
property: 'width',
from: '10em',
to: '60em'
}, [
{at: -0.4, is: '0em'},
{at: 0, is: '10em'},
{at: 0.2, is: '20em'},
{at: 0.6, is: '40em'},
{at: 1, is: '60em'},
{at: 1.4, is: '80em'}
]);
assertAttributeInterpolation({
property: 'width',
from: '10ex',
to: '60ex'
}, [
{at: -0.4, is: '0ex'},
{at: 0, is: '10ex'},
{at: 0.2, is: '20ex'},
{at: 0.6, is: '40ex'},
{at: 1, is: '60ex'},
{at: 1.4, is: '80ex'}
]);
assertAttributeInterpolation({
property: 'width',
from: '10rem',
to: '60rem'
}, [
{at: -0.4, is: '0rem'},
{at: 0, is: '10rem'},
{at: 0.2, is: '20rem'},
{at: 0.6, is: '40rem'},
{at: 1, is: '60rem'},
{at: 1.4, is: '80rem'}
]);
assertAttributeInterpolation({
property: 'width',
from: '10in',
to: '20rem'
}, [
{at: -0.4, is: '1264'},
{at: 0, is: '10in'},
{at: 0.2, is: '808'},
{at: 0.6, is: '504'},
{at: 1, is: '20rem'},
{at: 1.4, is: '0'}
]);
assertAttributeInterpolation({
property: 'width',
from: '1vw',
to: '6vw'
}, [
{at: -0.4, is: '0vw'},
{at: 0, is: '1vw'},
{at: 0.2, is: '2vw'},
{at: 0.6, is: '4vw'},
{at: 1, is: '6vw'},
{at: 1.4, is: '8vw'}
]);
assertAttributeInterpolation({
property: 'width',
from: '1vh',
to: '6vh'
}, [
{at: -0.4, is: '0vh'},
{at: 0, is: '1vh'},
{at: 0.2, is: '2vh'},
{at: 0.6, is: '4vh'},
{at: 1, is: '6vh'},
{at: 1.4, is: '8vh'}
]);
assertAttributeInterpolation({
property: 'width',
from: '1vmin',
to: '6vmin'
}, [
{at: -0.4, is: '0vmin'},
{at: 0, is: '1vmin'},
{at: 0.2, is: '2vmin'},
{at: 0.6, is: '4vmin'},
{at: 1, is: '6vmin'},
{at: 1.4, is: '8vmin'}
]);
assertAttributeInterpolation({
property: 'width',
from: '1vmax',
to: '6vmax'
}, [
{at: -0.4, is: '0vmax'},
{at: 0, is: '1vmax'},
{at: 0.2, is: '2vmax'},
{at: 0.6, is: '4vmax'},
{at: 1, is: '6vmax'},
{at: 1.4, is: '8vmax'}
]);
assertAttributeInterpolation({
property: 'width',
from: '10vh',
to: '20vw'
}, [
{at: -0.4, is: '20'},
{at: 0, is: '10vh'},
{at: 0.2, is: '80'},
{at: 0.6, is: '120'},
{at: 1, is: '20vw'},
{at: 1.4, is: '200'}
]);
assertAttributeInterpolation({
property: 'width',
from: '10vmin',
to: '20vmax'
}, [
{at: -0.4, is: '20'},
{at: 0, is: '10vmin'},
{at: 0.2, is: '80'},
{at: 0.6, is: '120'},
{at: 1, is: '20vmax'},
{at: 1.4, is: '200'}
]);
</script>
</body>
</html>