<!DOCTYPE html><!-- webkit-test-runner [ experimental:WebAnimationsCSSIntegrationEnabled=false ] -->

<html>
<head>
  <style>
    #box {
      height: 50px;
      width: 100px;
      background-color: blue;
      -webkit-transition-property: top;
      -webkit-transition-duration: 1s;
      -webkit-transition-duration: 0s;
    }
  </style>
  <script>
    if (window.testRunner)
      testRunner.dumpAsText();

    function test()
    {
        var box = document.getElementById('box');
        var dur = parseInt(window.getComputedStyle(box).webkitTransitionDuration);
        document.getElementById('result').innerHTML = "Duration was " + dur + " (should be 0): " + (dur == 0 ? "PASS" : "FAIL");
    }
    window.addEventListener('load', test, false)
  </script>
</head>
<body>

<div id="box">
</div>
<div id="result">
</div>
</body>
</html>
