chromium/third_party/blink/web_tests/transitions/inherit-other-props.html

<html>
<head>
  <style>
    .box {
      position: relative;
      left: 0;
      height: 100px;
      width: 100px;
      margin: 10px;
      background-color: blue;
    }
    .transition {
      -webkit-transition-property: left;
      -webkit-transition-duration: 2s;
      -webkit-transition-timing-function: linear;
    }
    #box4 {
      -webkit-transition-property: inherit;
      -webkit-transition-duration: inherit;
      -webkit-transition-timing-function: inherit;
    }
  </style>
  <script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    var kExpectedProperty = [
      'all', /* box1 */
      'left', /* box2 */
      'left', /* box3 */
      'left', /* box4 */ /* inherits from box3 */
      'left', /* box5 */
      'all', /* box6 */ /* does NOT inherit */
    ];

    var kExpectedDuration = [
      '0s', /* box1 */
      '2s', /* box2 */
      '2s', /* box3 */
      '2s', /* box4 */ /* inherits from box3 */
      '2s', /* box5 */
      '0s', /* box6 */ /* does NOT inherit */
    ];

    var kExpectedTimingFunction = [
      'ease', /* box1 */
      'linear', /* box2 */
      'linear', /* box3 */
      'linear', /* box4 */ /* inherits from box3 */
      'linear', /* box5 */
      'ease', /* box6 */ /* does NOT inherit */
    ];

    var result = '';

    function testValue(index, name, actual, expected) {
      if (actual == expected)
        result += "PASS: ";
      else
        result += "FAIL: ";
      result += "Box " + index + " computed transition-" + name + ": " + actual + ", expected: " + expected + "<br>";
    }
    
    function testProperties()
    {
      var boxes = document.body.getElementsByClassName('box');
      for (var i = 0; i < boxes.length; ++i) {
        var style = getComputedStyle(boxes[i]);
        testValue(i + 1, "property", style.webkitTransitionProperty, kExpectedProperty[i]);
        testValue(i + 1, "duration", style.webkitTransitionDuration, kExpectedDuration[i]);
        testValue(i + 1, "timing-function", style.webkitTransitionTimingFunction, kExpectedTimingFunction[i]);
      }

      document.body.removeChild(document.getElementById('container'));
      document.getElementById('result').innerHTML = result;
      if (window.testRunner)
          testRunner.notifyDone();
    }

    window.addEventListener('load', testProperties, false);
  </script>
</head>
<body>
<p>Tests inheritance of several transition properties.
<div id="container">
  <div id="box1" class="box"></div>
  <div id="box2" class="box transition"></div>
  <div id="box3" class="box transition">
    <div id="box4" class="box"></div>
  </div>
  <div id="box5" class="box transition">
    <div id="box6" class="box"></div>
  </div>
</div>

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

</body>
</html>