| <!DOCTYPE html> |
| <meta charset="UTF-8"> |
| <style> |
| .parent { |
| --percentage-list: 30% 300%; |
| } |
| .target { |
| --percentage-list: 10% 100%; |
| } |
| </style> |
| <body> |
| <script src="../interpolation/resources/interpolation-test.js"></script> |
| <script> |
| CSS.registerProperty({ |
| name: '--percentage-list', |
| syntax: '<percentage>+', |
| initialValue: '40% 400%', |
| inherits: false, |
| }); |
| |
| assertInterpolation({ |
| property: '--percentage-list', |
| from: 'initial', |
| to: '20% 200%', |
| }, [ |
| {at: -0.3, is: '46% 460%'}, |
| {at: 0, is: '40% 400%'}, |
| {at: 0.5, is: '30% 300%'}, |
| {at: 1, is: '20% 200%'}, |
| {at: 1.5, is: '10% 100%'}, |
| ]); |
| |
| assertInterpolation({ |
| property: '--percentage-list', |
| from: 'inherit', |
| to: '20% 200%', |
| }, [ |
| {at: -0.3, is: '33% 330%'}, |
| {at: 0, is: '30% 300%'}, |
| {at: 0.5, is: '25% 250%'}, |
| {at: 1, is: '20% 200%'}, |
| {at: 1.5, is: '15% 150%'}, |
| ]); |
| |
| assertInterpolation({ |
| property: '--percentage-list', |
| from: 'unset', |
| to: '20% 200%', |
| }, [ |
| {at: -0.3, is: '46% 460%'}, |
| {at: 0, is: '40% 400%'}, |
| {at: 0.5, is: '30% 300%'}, |
| {at: 1, is: '20% 200%'}, |
| {at: 1.5, is: '10% 100%'}, |
| ]); |
| |
| assertInterpolation({ |
| property: '--percentage-list', |
| from: '-10% -100%', |
| to: '10% 100%', |
| }, [ |
| {at: -0.3, is: '-16% -160%'}, |
| {at: 0, is: '-10% -100%'}, |
| {at: 0.5, is: '0% 0%'}, |
| {at: 1, is: '10% 100%'}, |
| {at: 1.5, is: '20% 200%'} |
| ]); |
| |
| assertInterpolation({ |
| property: '--percentage-list', |
| from: '10%', |
| to: '100%', |
| }, [ |
| {at: -0.3, is: '-17%'}, |
| {at: 0, is: '10%'}, |
| {at: 0.5, is: '55%'}, |
| {at: 1, is: '100%'}, |
| {at: 1.5, is: '145%'} |
| ]); |
| |
| // Composition and neutralKeyframe tests assume that composite:add means |
| // component-wise addition, which may or may not be the behavior we want. |
| // https://github.com/w3c/css-houdini-drafts/issues/799 |
| |
| assertInterpolation({ |
| property: '--percentage-list', |
| from: neutralKeyframe, |
| to: '20% 200%', |
| }, [ |
| {at: -0.3, is: '7% 70%'}, |
| {at: 0, is: '10% 100%'}, |
| {at: 0.5, is: '15% 150%'}, |
| {at: 1, is: '20% 200%'}, |
| {at: 1.5, is: '25% 250%'}, |
| ]); |
| |
| assertComposition({ |
| property: '--percentage-list', |
| underlying: '50% 60%', |
| addFrom: '10% 140%', |
| addTo: '110% 40%', |
| }, [ |
| {at: -0.3, is: '30% 230%'}, |
| {at: 0, is: '60% 200%'}, |
| {at: 0.5, is: '110% 150%'}, |
| {at: 1, is: '160% 100%'}, |
| {at: 1.5, is: '210% 50%'}, |
| ]); |
| |
| assertComposition({ |
| property: '--percentage-list', |
| underlying: '50% 60%', |
| addFrom: '10% 140%', |
| replaceTo: '110% 40%', |
| }, [ |
| {at: -0.3, is: '45% 248%'}, |
| {at: 0, is: '60% 200%'}, |
| {at: 0.5, is: '85% 120%'}, |
| {at: 1, is: '110% 40%'}, |
| {at: 1.5, is: '135% -40%'}, |
| ]); |
| |
| </script> |
| </body> |