<!DOCTYPE html>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="target"></div>
<script>

animation_test({
  syntax: "<length>+",
  inherits: false,
  initialValue: "0px"
}, {
  keyframes: ["100px 150px", "200px 250px"],
  expected: "150px 200px"
}, 'Animating a custom property of type <length>+');

animation_test({
  syntax: "<length>+",
  inherits: false,
  initialValue: "100px 150px"
}, {
  keyframes: "200px 250px",
  expected: "150px 200px"
}, 'Animating a custom property of type <length>+ with a single keyframe');

animation_test({
  syntax: "<length>+",
  inherits: false,
  initialValue: "50px 100px"
}, {
  composite: "add",
  keyframes: ["150px 200px", "250px 300px"],
  expected: "250px 350px"
}, 'Animating a custom property of type <length>+ with additivity');

animation_test({
  syntax: "<length>+",
  inherits: false,
  initialValue: "50px 100px"
}, {
  composite: "add",
  keyframes: "150px 200px",
  expected: "125px 200px"
}, 'Animating a custom property of type <length>+ with a single keyframe and additivity');

animation_test({
  syntax: "<length>+",
  inherits: false,
  initialValue: "0px 0px"
}, {
  iterationComposite: "accumulate",
  keyframes: ["0px 50px", "100px 100px"],
  expected: "250px 275px"
}, 'Animating a custom property of type <length>+ with iterationComposite');

discrete_animation_test("<length>+", '10px 20px', '30px', 'Animating a custom property of type <length>+ with different lengths is discrete');

</script>
