chromium/third_party/blink/web_tests/animations/svg-attribute-composition/svg-startOffset-composition-002.html

<!DOCTYPE html>
<html>
<head>
<script src="../../resources/ahem.js"></script>
<style>
:root {
  font: 50px Ahem;
}
</style>
</head>
<body>
<svg>
  <defs>
    <path id="path1" d="m 0 0 h 250 v 250 h -250 z"/>
  </defs>
</svg>
<template id="target-template">
<svg width="7px" height="17px" viewBox="0 0 140 340">
  <text text-anchor="middle">
    <textPath xlink:href="#path1" startOffset="50%" class="target">
      Text on a path
    </textPath>
  </text>
</svg>
</template>
<script src="../svg-attribute-interpolation/resources/interpolation-test.js"></script>
<script>
'use strict';
assertAttributeInterpolation({
  property: 'startOffset',
  underlying: '2',
  from: '1',
  fromComposite: 'replace',
  to: '4',
  toComposite: 'add'
}, [
  {at: -0.4, is: -1},
  {at: 0, is: 1},
  {at: 0.2, is: 2},
  {at: 0.6, is: 4},
  {at: 1, is: 6},
  {at: 1.4, is: 8}
]);
assertAttributeInterpolation({
  property: 'startOffset',
  underlying: '50pt',
  from: '10in',
  fromComposite: 'replace',
  to: '720pt',
  toComposite: 'add'
}, [
  {at: -0.4, is: '700pt'},
  {at: 0, is: '720pt'},
  {at: 0.2, is: '730pt'},
  {at: 0.6, is: '750pt'},
  {at: 1, is: '770pt'},
  {at: 1.4, is: '790pt'}
]);
assertAttributeInterpolation({
  property: 'startOffset',
  underlying: '5em',
  from: '125',
  fromComposite: 'replace',
  to: '15em',
  toComposite: 'add'
}, [
  {at: -0.4, is: '-225'},
  {at: 0, is: '125'},
  {at: 0.2, is: '300'},
  {at: 0.6, is: '650'},
  {at: 1, is: '1000'},
  {at: 1.4, is: '1350'}
]);
</script>
</body>
</html>