<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Keyframes test with 'to' keyframe missing</title>
  <style type="text/css" media="screen">
    #box {
        position: absolute;
        left: 0;
        top: 100px;
        height: 100px;
        width: 100px;
        background-color: blue;
        -webkit-animation-duration: 1s;
        -webkit-animation-timing-function: linear;
        -webkit-animation-name: "anim";
    }
    @-webkit-keyframes "anim" {
        from { left: 50px; }
        20%  { left: 100px; }
        40%  { left: 100px; }
        60%  { left: 200px; }
        80%  { left: 200px; }
    }
    </style>
    <script type="text/javascript" charset="utf-8">
    
    function start()
    {
        layoutTestController.dumpAsText();
        
        if (layoutTestController.pauseAnimationAtTimeOnElementWithId("anim", 0.5, "box"))
            document.getElementById('result').innerHTML = "FAIL: animation is running";
        else
            document.getElementById('result').innerHTML = "PASS";
    }
    
    if (window.layoutTestController)
        window.addEventListener('load', start, false);
    
  </script>
</head>
<body>
This test performs an animation of the left property. The 'to' keyframe is missing so it should not animate
<div id="box">
</div>
<div id="result">
</div>
</body>
</html>
