<html>
<head>
  <title>Transition End Events</title>
  <style type="text/css" media="screen">
    .box {
      position: relative;
      left: 0;
      height: 100px;
      width: 100px;
      margin: 10px;
      background-color: blue;
      -webkit-transition-property: left;
      -webkit-transition-duration: 0.5s;
    }
  </style>
  <script src="transition-end-event-helpers.js" type="text/javascript" charset="utf-8"></script>
  <script type="text/javascript" charset="utf-8">
    
    var expectedEndEvents = [
      // [property-name, element-id, elapsed-time, listen]
      ["left", "box1", 0.5, false]
    ];
    
    function setupTest()
    {
      document.getElementById("container").addEventListener("webkitTransitionEnd", recordTransitionEndEvent, false);
      
      var box = document.getElementById('box1');
      box.style.left = '200px';
    }
    
    runTransitionTest(expectedEndEvents, setupTest);
  </script>
</head>
<body>

<p>Initiating a 500ms transition on the left property of box1 and catching it on the parent.</p>

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

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

</body>
</html>