| Index: third_party/WebKit/LayoutTests/animations/svg-attribute-composition/svg-d-composition.html
|
| diff --git a/third_party/WebKit/LayoutTests/animations/svg-attribute-composition/svg-d-composition.html b/third_party/WebKit/LayoutTests/animations/svg-attribute-composition/svg-d-composition.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b06f1afde22bb66cb6739bde902a82fe395860f3
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/animations/svg-attribute-composition/svg-d-composition.html
|
| @@ -0,0 +1,108 @@
|
| +<!DOCTYPE html>
|
| +<body>
|
| +<template id="target-template">
|
| +<svg width="90" height="90">
|
| +<path class="target" />
|
| +</svg>
|
| +</template>
|
| +<script src="../svg-attribute-interpolation/resources/interpolation-test.js"></script>
|
| +<script>
|
| +'use strict';
|
| +
|
| +// SVG Paths always replace.
|
| +
|
| +assertAttributeInterpolation({
|
| + property: 'd',
|
| + underlying: 'M 10 10 H 20',
|
| + from: 'M 20 30 L 40 50',
|
| + fromComposite: 'add',
|
| + to: 'M 30 40 L 50 60',
|
| + toComposite: 'add',
|
| +}, [
|
| + {at: -0.4, is: 'M 16 26 L 36 46'},
|
| + {at: 0, is: 'M 20 30 L 40 50'},
|
| + {at: 0.2, is: 'M 22 32 L 42 52'},
|
| + {at: 0.6, is: 'M 26 36 L 46 56'},
|
| + {at: 1, is: 'M 30 40 L 50 60'},
|
| + {at: 1.4, is: 'M 34 44 L 54 64'},
|
| +]);
|
| +
|
| +assertAttributeInterpolation({
|
| + property: 'd',
|
| + underlying: 'M 10 10 H 20',
|
| + from: 'M 20 30 L 40 50',
|
| + fromComposite: 'add',
|
| + to: 'M 30 40 H 50',
|
| + toComposite: 'add',
|
| +}, [
|
| + {at: -0.4, is: 'M 20 30 L 40 50'},
|
| + {at: 0, is: 'M 20 30 L 40 50'},
|
| + {at: 0.2, is: 'M 20 30 L 40 50'},
|
| + {at: 0.6, is: 'M 30 40 H 50'},
|
| + {at: 1, is: 'M 30 40 H 50'},
|
| + {at: 1.4, is: 'M 30 40 H 50'},
|
| +]);
|
| +
|
| +assertAttributeInterpolation({
|
| + property: 'd',
|
| + underlying: 'M 10 10 H 20',
|
| + from: 'm 20 30 L 40 50',
|
| + fromComposite: 'add',
|
| + to: 'm 30 40 L 50 60',
|
| + toComposite: 'replace',
|
| +}, [
|
| + {at: -0.4, is: 'm 16 26 L 36 46'},
|
| + {at: 0, is: 'm 20 30 L 40 50'},
|
| + {at: 0.2, is: 'm 22 32 L 42 52'},
|
| + {at: 0.6, is: 'm 26 36 L 46 56'},
|
| + {at: 1, is: 'm 30 40 L 50 60'},
|
| + {at: 1.4, is: 'm 34 44 L 54 64'},
|
| +]);
|
| +
|
| +assertAttributeInterpolation({
|
| + property: 'd',
|
| + underlying: 'M 10 10 L 20 20',
|
| + from: neutralKeyframe,
|
| + to: 'm 30 40 l 50 60',
|
| + toComposite: 'replace',
|
| +}, [
|
| + {at: -0.4, is: 'm 2 -2 l -6 -10'},
|
| + {at: 0, is: 'M 10 10 L 20 20'},
|
| + {at: 0.2, is: 'm 14 16 l 18 20'},
|
| + {at: 0.6, is: 'm 22 28 l 34 40'},
|
| + {at: 1, is: 'm 30 40 l 50 60'},
|
| + {at: 1.4, is: 'm 38 52 l 66 80'},
|
| +]);
|
| +
|
| +assertAttributeInterpolation({
|
| + property: 'd',
|
| + underlying: 'M 10 10 L 20 20',
|
| + from: neutralKeyframe,
|
| + to: 'm 30 40 l 50 60',
|
| + toComposite: 'add',
|
| +}, [
|
| + {at: -0.4, is: 'm 2 -2 l -6 -10'},
|
| + {at: 0, is: 'M 10 10 L 20 20'},
|
| + {at: 0.2, is: 'm 14 16 l 18 20'},
|
| + {at: 0.6, is: 'm 22 28 l 34 40'},
|
| + {at: 1, is: 'm 30 40 l 50 60'},
|
| + {at: 1.4, is: 'm 38 52 l 66 80'},
|
| +]);
|
| +
|
| +assertAttributeInterpolation({
|
| + property: 'd',
|
| + underlying: 'm 30 40 l 50 60',
|
| + from: 'M 10 10 L 20 20',
|
| + fromComposite: 'add',
|
| + to: neutralKeyframe,
|
| +}, [
|
| + {at: -0.4, is: 'm 2 -2 l -6 -10'},
|
| + {at: 0, is: 'M 10 10 L 20 20'},
|
| + {at: 0.2, is: 'm 14 16 l 18 20'},
|
| + {at: 0.6, is: 'm 22 28 l 34 40'},
|
| + {at: 1, is: 'm 30 40 l 50 60'},
|
| + {at: 1.4, is: 'm 38 52 l 66 80'},
|
| +]);
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|