chromium/third_party/blink/web_tests/transitions/multiple-background-size-transitions.html

<!DOCTYPE>

<html>
<head>
  <style>
    .box {
      height: 100px;
      width: 100px;
      margin: 10px;
      border: 1px solid black;
      background-repeat: no-repeat;
      -webkit-mask-repeat: no-repeat;
      -webkit-transition-duration: 1s;
      -webkit-transition-timing-function: linear;
      -webkit-transition-property: -webkit-background-size, -webkit-mask-size;
    }
    
    #box {
      background-image: url('../fast/backgrounds/repeat/resources/gradient.gif'), url('../fast/backgrounds/repeat/resources/gradient.gif');
      background-position: 0 0, 50px 50px;
      -webkit-background-size: 0% 0%, 50% 50%;
    }
    
    #box.final {
      -webkit-background-size: 50% 50%, 0% 0%;
    }
    
    #box1 {
      background-color: gray;
      -webkit-mask-image: url('../fast/backgrounds/repeat/resources/gradient.gif'), url('../fast/backgrounds/repeat/resources/gradient.gif');
      -webkit-mask-position: 0 0, 50px 50px;
      -webkit-mask-size: 0% 0%, 50% 50%;
    }

    #box1.final {
      -webkit-mask-size: 50% 50%, 0% 0%;
    }

  </style>
  <script src="../animations/resources/animation-test-helpers.js"></script>
  <script type="text/javascript">

    const expectedValues = [
      // [time, element-id, property, expected-value, tolerance]
      [0.5, 'box', '-webkit-background-size', "25% 25%, 25% 25%", 4],
      [0.5, 'box1', '-webkit-mask-size', "25% 25%, 25% 25%", 4],
    ];
  
    function setupTest()
    {
      document.getElementById('box').className = 'box final';
      document.getElementById('box1').className = 'box final';
    }
  
    runTransitionTest(expectedValues, setupTest);
  </script>
</head>
<body>

  <div id="box" class="box"></div>
  <div id="box1" class="box"></div>

  <div id="result">
  </div>

</body>
</html>