blob: 0d9a6275f2628e4992057721309d289bedba0fa5 [file] [log] [blame]
<!DOCTYPE html>
<meta charset="UTF-8">
<style>
.parent {
cx: 100px;
}
.target {
font-size: 16px;
cx: 50px;
}
.expected {
fill: green;
}
</style>
<body>
<template id="target-template">
<svg width="90" height="90">
<path class="target" />
</svg>
</template>
<script src="resources/interpolation-test.js"></script>
<script>
'use strict';
assertInterpolation({
property: 'd',
from: "path('m 0 0 C 32 42 52 62 12 22')",
to: "path('m 0 0 C 37 47 57 67 17 27')",
}, [
{at: -0.4, is: "path('M 0 0 C 30 40 50 60 10 20')"},
{at: 0, is: "path('M 0 0 C 32 42 52 62 12 22')"},
{at: 0.2, is: "path('M 0 0 C 33 43 53 63 13 23')"},
{at: 0.6, is: "path('M 0 0 C 35 45 55 65 15 25')"},
{at: 1, is: "path('M 0 0 C 37 47 57 67 17 27')"},
{at: 1.4, is: "path('M 0 0 C 39 49 59 69 19 29')"}
]);
assertInterpolation({
property: 'd',
from: "path('m 0 0 c 32 42 52 62 12 22')",
to: "path('m 0 0 c 37 47 57 67 17 27')"
}, [
{at: -0.4, is: "path('M 0 0 C 30 40 50 60 10 20')"},
{at: 0, is: "path('M 0 0 C 32 42 52 62 12 22')"},
{at: 0.2, is: "path('M 0 0 C 33 43 53 63 13 23')"},
{at: 0.6, is: "path('M 0 0 C 35 45 55 65 15 25')"},
{at: 1, is: "path('M 0 0 C 37 47 57 67 17 27')"},
{at: 1.4, is: "path('M 0 0 C 39 49 59 69 19 29')"}
]);
assertInterpolation({
property: 'd',
from: "path('m 0 0 Q 32 42 52 62')",
to: "path('m 0 0 Q 37 47 57 67')"
}, [
{at: -0.4, is: "path('M 0 0 Q 30 40 50 60')"},
{at: 0, is: "path('M 0 0 Q 32 42 52 62')"},
{at: 0.2, is: "path('M 0 0 Q 33 43 53 63')"},
{at: 0.6, is: "path('M 0 0 Q 35 45 55 65')"},
{at: 1, is: "path('M 0 0 Q 37 47 57 67')"},
{at: 1.4, is: "path('M 0 0 Q 39 49 59 69')"}
]);
assertInterpolation({
property: 'd',
from: "path('m 0 0 q 32 42 52 62')",
to: "path('m 0 0 q 37 47 57 67')"
}, [
{at: -0.4, is: "path('M 0 0 Q 30 40 50 60')"},
{at: 0, is: "path('M 0 0 Q 32 42 52 62')"},
{at: 0.2, is: "path('M 0 0 Q 33 43 53 63')"},
{at: 0.6, is: "path('M 0 0 Q 35 45 55 65')"},
{at: 1, is: "path('M 0 0 Q 37 47 57 67')"},
{at: 1.4, is: "path('M 0 0 Q 39 49 59 69')"}
]);
assertInterpolation({
property: 'd',
from: "path('m 0 0 A 10 20 30 1 0 40 50')",
to: "path('m 0 0 A 60 70 80 0 1 90 100')"
}, [
{at: -0.4, is: "path('M 0 0 A -10 0 10 1 0 20 30')"},
{at: 0, is: "path('M 0 0 A 10 20 30 1 0 40 50')"},
{at: 0.2, is: "path('M 0 0 A 20 30 40 1 0 50 60')"},
{at: 0.6, is: "path('M 0 0 A 40 50 60 0 1 70 80')"},
{at: 1, is: "path('M 0 0 A 60 70 80 0 1 90 100')"},
{at: 1.4, is: "path('M 0 0 A 80 90 100 0 1 110 120')"},
]);
assertInterpolation({
property: 'd',
from: "path('m 0 0 a 10 20 30 1 0 40 50')",
to: "path('m 0 0 a 60 70 80 0 1 90 100')"
}, [
{at: -0.4, is: "path('M 0 0 A -10 0 10 1 0 20 30')"},
{at: 0, is: "path('M 0 0 A 10 20 30 1 0 40 50')"},
{at: 0.2, is: "path('M 0 0 A 20 30 40 1 0 50 60')"},
{at: 0.6, is: "path('M 0 0 A 40 50 60 0 1 70 80')"},
{at: 1, is: "path('M 0 0 A 60 70 80 0 1 90 100')"},
{at: 1.4, is: "path('M 0 0 A 80 90 100 0 1 110 120')"}
]);
</script>
</body>