<!DOCTYPE html>
<html>
<title>Missing properties in first keyframe</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1">
<link rel="help" href="https://www.w3.org/TR/web-animations-1/#the-effect-value-of-a-keyframe-animation-effect">
<meta name="assert"
      content="CSS animation correctly interpolates from neutral keyframe">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/web-animations/testcommon.js"></script>
<style type="text/css" media="screen">
  body {
    margin: 0;
  }

  .box {
    position: relative;
    width: 100px;
    height: 100px;
    left: 0;
    background-color: green;
  }

  #box1 {
    left: 200px;
    animation: move-left 2s paused linear;
  }

  #box2 {
    transform: translateX(200px);
    animation: move-transform 2s paused linear;
  }

  @keyframes move-left {
    0% {
      opacity: 1;
    }
    25% {
      opacity: 1;
    }
    50% {
      left: 0;
      opacity: 1;
    }
    100% {
      left: 0;
      opacity: 0;
    }
  }

  @keyframes move-transform {
    0% {
      opacity: 1;
    }
    25% {
      opacity: 1;
    }
    50% {
      transform: translateX(0);
      opacity: 1;
    }
    100% {
      transform: translateX(0);
      opacity: 0;
    }
  }
</style>
<body>
  <div class="box" id="box1"></div>
  <div class="box" id="box2"></div>
</body>
<script>
  promise_test(async t => {
    document.getAnimations().forEach(anim => {
      anim.currentTime = 500;
    });
    assert_equals(getComputedStyle(box1).left, "100px");
    assert_matrix_equals(
        getComputedStyle(box2).transform,
        'matrix(1, 0, 0, 1, 100, 0)');
  }, 'Missing property values in the first keyframe are correctly ' +
     'interpolated from a neutral keyframe value');
</script>
</html>
