<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- webkit-test-runner [ experimental:WebAnimationsCSSIntegrationEnabled=false ] -->

<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Zero Duration Without Units</title>
  <style type="text/css" media="screen">
    #box {
      height: 100px;
      width: 100px;
      background-color: blue;
      -webkit-transition-property: top, left;
      -webkit-transition-duration: 1s;
      -webkit-transition-duration: 0;
      -webkit-transition-timing-function: linear;
    }
  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner) {
      testRunner.dumpAsText();
      testRunner.waitUntilDone();
    }

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

<p>Box should start moving left after left style is reset after 500ms</p>
  <div id="box">
  </div>
<div id="result">
</div>
</body>
</html>
