<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Transform list interpolation</title>
<link rel="help" href="https://drafts.csswg.org/css-transforms-1/#interpolation-of-transforms">
<meta name="assert" content="Interpolation of transform function lists is performed as follows">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/interpolation-testcommon.js"></script>
</head>
<body>
<script>
test_interpolation(
  {
    property: 'transform',
    from: 'none',
    to: 'none',
  },
  [{ at: 0.25, expect: 'none' }],
  'none -> none'
);

test_interpolation(
  {
    property: 'transform',
    from: 'none',
    to: 'translate(200px) rotate(720deg)',
  },
  [{ at: 0.25, expect: 'translate(50px) rotate(180deg)' }],
  'none -> something'
);

test_interpolation(
  {
    property: 'transform',
    from: 'translate(200px) rotate(720deg)',
    to: 'none',
  },
  [{ at: 0.25, expect: 'translate(150px) rotate(540deg)' }],
  'something -> none'
);

test_interpolation(
  {
    property: 'transform',
    from: 'translate(100px)',
    to: 'translate(200px) rotate(720deg)',
  },
  [{ at: 0.25, expect: 'translate(125px) rotate(180deg)' }],
  'Mismatched lengths (from is shorter), common part matches'
);

test_interpolation(
  {
    property: 'transform',
    from: 'translate(100px) rotate(720deg)',
    to: 'translate(200px)',
  },
  [{ at: 0.25, expect: 'translate(125px) rotate(540deg)' }],
  'Mismatched lengths (to is shorter), common part matches'
);

test_interpolation(
  {
    property: 'transform',
    from: 'scale(2) rotate(360deg) translate(100px) matrix(1, 0, 0, 1, 100, 0) skew(0deg)',
    to: 'scale(3) rotate(1080deg) translate(200px) matrix(1, 0, 0, 1, 0, 200) skew(720deg)',
  },
  [
    {
      at: 0.25,
      expect: 'scale(2.25) rotate(540deg) translate(125px) matrix(1, 0, 0, 1, 75, 50) skew(180deg)',
    },
  ],
  'Perfect match'
);

test_interpolation(
  {
    property: 'transform',
    from: 'translateX(100px) scaleX(3) translate(500px) scale(2)',
    to: 'translateY(200px) scale(5) translateX(100px) scaleY(3)',
  },
  [{ at: 0.25, expect: 'translate(75px, 50px) scale(3.5, 2) translate(400px, 0px) scale(1.75, 2.25)' }],
  'Matches on primitives'
);

test_interpolation(
  {
    property: 'transform',
    from: 'rotateX(90deg) translateX(100px)',
    to: 'rotate3d(50, 0, 0, 180deg) translateY(200px)',
  },
  [{ at: 0.25, expect: 'rotateX(112.5deg) translate(75px, 50px)' }],
  'Match on rotation vector'
);

test_interpolation(
  {
    property: 'transform',
    from: 'rotateX(90deg) translateX(100px)',
    to: 'rotateY(0deg) translateY(200px)',
  },
  [{ at: 0.25, expect: 'rotateX(67.5deg) translate(75px, 50px)' }],
  'Match on rotation due to 0deg angle'
);

test_interpolation(
  {
    property: 'transform',
    from: 'rotate3d(1, 1, 1, -60deg) translateX(100px)',
    to: 'rotate3d(2, 2, 2, 60deg) translateY(200px)',
  }, [{ at: 0.25, expect: 'rotate3d(1, 1, 1, -30deg) translate(75px, 50px)' }],
  'Match on rotation using collinear rotation axes'
);

test_interpolation(
  {
    property: 'transform',
    from: 'rotate3d(1, 0, 0, 360deg) translateX(100px)',
    to: 'rotate3d(0, 1, 0, -720deg) translateY(200px)',
  }, [{ at: 0.25, expect: 'rotate3d(0, 0, 1, 0deg) translate(75px, 50px)' }],
  'Match on rotation with spherical interpolation'
);

test_interpolation(
  {
    property: 'transform',
    from: 'rotate(0deg) translate(100px)',
    to: 'rotate(720deg) scale(2) translate(200px)',
  },
  [{ at: 0.25, expect: 'rotate(180deg) matrix(1.25, 0, 0, 1.25, 175, 0)' }],
  'Common prefix'
);

test_interpolation(
  {
    property: 'transform',
    from: 'scale(2) rotate(0deg) translate(100px)',
    to: 'rotate(720deg) scale(2) translate(200px)',
  },
  [{ at: 0.25, expect: 'matrix(2, 0, 0, 2, 250, 0)' }],
  'Complete mismatch (except length)'
);

test_interpolation(
  {
    property: 'transform',
    from: 'scale(2) rotate(0deg)',
    to: 'rotate(720deg) scale(2) translate(200px)',
  },
  [{ at: 0.25, expect: 'matrix(2, 0, 0, 2, 100, 0)' }],
  'Complete mismatch including length'
);

test_interpolation(
  {
    property: 'transform',
    from: 'rotate(0deg) scaleX(1)',
    to: 'rotate(720deg) translateX(0px) scaleX(2)'
  },
  [{at: 0.25, expect: 'rotate(180deg) matrix(1.25, 0, 0, 1, 0, 0)'}],
  'Mismatched lengths (from is shorter), partial match'
);

test_interpolation(
  {
    property: 'transform',
    from: 'rotate(720deg) translateX(0px) scaleX(2)',
    to: 'rotate(0deg) scaleX(1)'
  },
  [{at: 0.25, expect: 'rotate(540deg) matrix(1.75, 0, 0, 1, 0, 0)'}],
  'Mismatched lengths (to is shorter), partial match'
);

test_interpolation(
  {
    property: 'transform',
    from: 'scaleX(-3) scaleY(2)',
    to: 'scaleY(-3) translateX(0px) scaleX(2)'
  },
  [{at: 0.25, expect: 'scale(-2, 0) matrix(1.25, 0, 0, 1.75, 0, 0)'}],
  'Mismatched lengths (from is shorter), partial match on primitive'
);

test_interpolation(
  {
    property: 'transform',
    from: 'scaleY(-3) translateX(0px) scaleX(2)',
    to: 'scaleX(-3) scaleY(2)'
  },
  [{at: 0.25, expect: 'scale(0, -2) matrix(1.75, 0, 0, 1.25, 0, 0)'}],
  'Mismatched lengths (to is shorter), partial match on primitive'
);

test_interpolation(
  {
    property: 'transform',
    from: 'scaleY(-3) translateX(0px)',
    to: 'scaleX(-3) scaleY(2)'
  },
  [{at: 0.25, expect: 'scale(0, -2) matrix(1, 0, 0, 1.25, 0, 0)'}],
  'Common prefix on primitive'
);
</script>
</body>
</html>
