Index: third_party/WebKit/LayoutTests/animations/svg-attribute-composition/svg-tableValues-composition.html |
diff --git a/third_party/WebKit/LayoutTests/animations/svg-attribute-composition/svg-tableValues-composition.html b/third_party/WebKit/LayoutTests/animations/svg-attribute-composition/svg-tableValues-composition.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..64ea81d1c80d9078e1561b53f64f92b3b71a60d1 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/animations/svg-attribute-composition/svg-tableValues-composition.html |
@@ -0,0 +1,127 @@ |
+<!DOCTYPE html> |
+<html> |
+<body> |
+<template id="target-template"> |
+<svg width="90" height="90"> |
+<feComponentTransfer> |
+<feFuncG type="table" class="target" /> |
+</feComponentTransfer> |
+</svg> |
+</template> |
+<script src="../svg-attribute-interpolation/resources/interpolation-test.js"></script> |
+<script> |
+'use strict'; |
+assertAttributeInterpolation({ |
+ property: 'tableValues', |
+ underlying: '10, 20', |
+ fromComposite: 'add', |
+ from: '30, 40', |
+ toComposite: 'add', |
+ to: '50, -10' |
+}, [ |
+ {at: -0.4, is: '32, 80'}, |
+ {at: 0, is: '40, 60'}, |
+ {at: 0.2, is: '44, 50'}, |
+ {at: 0.6, is: '52, 30'}, |
+ {at: 1.0, is: '60, 10'}, |
+ {at: 1.4, is: '68, -10'}, |
+]); |
+ |
+assertAttributeInterpolation({ |
+ property: 'tableValues', |
+ underlying: '10, 20', |
+ fromComposite: 'replace', |
+ from: '30', |
+ toComposite: 'replace', |
+ to: '50, -10' |
+}, [ |
+ {at: -0.4, is: '30'}, |
+ {at: 0, is: '30'}, |
+ {at: 0.2, is: '30'}, |
+ {at: 0.6, is: '50, -10'}, |
+ {at: 1.0, is: '50, -10'}, |
+ {at: 1.4, is: '50, -10'}, |
+]); |
+ |
+assertAttributeInterpolation({ |
+ property: 'tableValues', |
+ underlying: '10, 20', |
+ fromComposite: 'add', |
+ from: '30', |
+ toComposite: 'add', |
+ to: '50, -10' |
+}, [ |
+ {at: -0.4, is: '30'}, |
+ {at: 0, is: '30'}, |
+ {at: 0.2, is: '30'}, |
+ {at: 0.6, is: '50, -10'}, |
+ {at: 1.0, is: '50, -10'}, |
+ {at: 1.4, is: '50, -10'}, |
+]); |
+ |
+assertAttributeInterpolation({ |
+ property: 'tableValues', |
+ underlying: '10', |
+ fromComposite: 'add', |
+ from: '20, 30', |
+ toComposite: 'add', |
+ to: '50, 40' |
+}, [ |
+ {at: -0.4, is: '18, 26'}, |
+ {at: 0, is: '30, 30'}, |
+ {at: 0.2, is: '36, 32'}, |
+ {at: 0.6, is: '48, 36'}, |
+ {at: 1.0, is: '60, 40'}, |
+ {at: 1.4, is: '72, 44'}, |
+]); |
+ |
+assertAttributeInterpolation({ |
+ property: 'tableValues', |
+ underlying: '10, 20', |
+ fromComposite: 'add', |
+ from: '30', |
+ toComposite: 'add', |
+ to: '40' |
+}, [ |
+ {at: -0.4, is: '36, 20'}, |
+ {at: 0, is: '40, 20'}, |
+ {at: 0.2, is: '42, 20'}, |
+ {at: 0.6, is: '46, 20'}, |
+ {at: 1.0, is: '50, 20'}, |
+ {at: 1.4, is: '54, 20'}, |
+]); |
+ |
+assertAttributeInterpolation({ |
+ property: 'tableValues', |
+ underlying: '10, 20', |
+ fromComposite: 'replace', |
+ from: '30, 40', |
+ toComposite: 'add', |
+ to: '50, -10' |
+}, [ |
+ {at: -0.4, is: '18, 52'}, |
+ {at: 0, is: '30, 40'}, |
+ {at: 0.2, is: '36, 34'}, |
+ {at: 0.6, is: '48, 22'}, |
+ {at: 1.0, is: '60, 10'}, |
+ {at: 1.4, is: '72, -2'}, |
+]); |
+ |
+assertAttributeInterpolation({ |
+ property: 'tableValues', |
+ underlying: '', |
+ fromComposite: 'add', |
+ from: '30, 40', |
+ toComposite: 'replace', |
+ to: '50, -10' |
+}, [ |
+ {at: -0.4, is: '22, 60'}, |
+ {at: 0, is: '30, 40'}, |
+ {at: 0.2, is: '34, 30'}, |
+ {at: 0.6, is: '42, 10'}, |
+ {at: 1.0, is: '50, -10'}, |
+ {at: 1.4, is: '58, -30'}, |
+]); |
+</script> |
+</body> |
+</html> |