
<html>
<head>
  <style>
    #box {
        position: absolute;
        left: 100px;
        top: 100px;
        height: 100px;
        width: 100px;
        -webkit-animation: anim 1s linear infinite;
    }
    #boxShorthand {
        position: absolute;
        left: 400px;
        top: 100px;
        height: 100px;
        width: 100px;
        -webkit-animation: animShorthand 1s linear infinite;
    }
    #boxStatic {
        position: absolute;
        left: 100px;
        top: 350px;
        height: 100px;
        width: 100px;
        list-style: square -webkit-cross-fade(url(resources/blue-100.png), url(resources/green-100.png), 50%);
    }
    @-webkit-keyframes anim {
        from { list-style-image: url(resources/blue-100.png); }
        to   { list-style-image: url(resources/green-100.png); }
    }
    @-webkit-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">
    const expectedValues = [
      // [animation-name, time, element-id, property, expected-value, tolerance]
      ["anim", 2.5, "box", "listStyleImage", "-webkit-cross-fade(url(blue-100.png), url(green-100.png), 50%)", 0.05],
      ["anim", 2.5, ["box", "static:boxStatic"], "listStyleImage", "cross-fade(url(blue-100.png), url(green-100.png), 50%)", 0.05],
      ["animShorthand", 2.5, ["boxShorthand", "static:boxStatic"], "listStyleImage", "cross-fade(url(blue-100.png), url(green-100.png), 50%)", 0.05],
    ];

    var doPixelTest = true;
    var disablePauseAPI = false;
    runAnimationTest(expectedValues, null, undefined, disablePauseAPI, doPixelTest);
  </script>
</head>
<body>
<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>
