chromium/third_party/blink/web_tests/animations/cross-fade-list-style-image.html

<html>
<head>
  <style>
    #box {
        position: absolute;
        left: 100px;
        top: 100px;
        height: 100px;
        width: 100px;
    }
    #boxShorthand {
        position: absolute;
        left: 400px;
        top: 100px;
        height: 100px;
        width: 100px;
    }
    #boxStatic {
        position: absolute;
        left: 100px;
        top: 350px;
        height: 100px;
        width: 100px;
        list-style: square cross-fade(50% url(resources/blue-100.png), url(resources/green-100.png));
    }
    @keyframes anim {
        from { list-style-image: url(resources/blue-100.png); }
        to   { list-style-image: url(resources/green-100.png); }
    }
    @keyframes animShorthand {
        from { list-style: square url(resources/blue-100.png); }
        to   { list-style: square url(resources/green-100.png); }
    }
  </style>
  <script src="resources/animation-test-helpers.js" type="text/javascript" charset="utf-8"></script>
  <script type="text/javascript" charset="utf-8">
    function runTest() {
      document.querySelector('#box').style.animation = "anim 1s linear infinite";
      document.querySelector('#boxShorthand').style.animation = "animShorthand 1s linear infinite";

      const expectedValues = [
        // [time, element-id, property, expected-value, tolerance]
        [2.5, ["box", "boxStatic"], "listStyleImage", 0.5, 0.05],
        [2.5, ["boxShorthand", "boxStatic"], "listStyleImage", 0.5, 0.05],
      ];

      var doPixelTest = true;
      var disablePauseAPI = false;
      runAnimationTest(expectedValues, null, undefined, disablePauseAPI, doPixelTest);
    }
  </script>
</head>
<body onload="runTest()">
<ul id="box"><li>one</li><li>two</li></ul>
<ul id="boxStatic"><li>one</li><li>two</li></ul>
<ul id="boxShorthand"><li>one</li><li>two</li></ul>
<div id="result"></div>
</body>
</html>