| <!doctype html> |
| <link rel="help" href="https://drafts.csswg.org/css-transitions/#transition-duration-property"> |
| <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1650189"> |
| <link rel="author" href="http://mellthas.de" title="Till Berger"> |
| <link rel="author" href="https://mozilla.org" title="Mozilla"> |
| <link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez"> |
| <script src="/resources/testharness.js" type="text/javascript"></script> |
| <script src="/resources/testharnessreport.js" type="text/javascript"></script> |
| <title>transition-duration when looking at shorthand properties should be correct</title> |
| <style> |
| div { |
| width: 100px; |
| height: 100px; |
| background-color: green; |
| transition: all 100s, height 0s; |
| } |
| div.trigger { |
| width: 200px; |
| height: 200px; |
| } |
| </style> |
| <div></div> |
| <script> |
| promise_test(async function (t) { |
| let div = document.querySelector("div"); |
| let cs = getComputedStyle(div); |
| assert_equals(cs.width, "100px", "Width should start off correct"); |
| assert_equals(cs.height, "100px", "Height should start off correct"); |
| |
| div.classList.add("trigger"); |
| |
| await new Promise(resolve => { |
| requestAnimationFrame(() => requestAnimationFrame(resolve)); |
| }); |
| |
| assert_not_equals(cs.width, "200px", "Width should not have advanced to the end of the transition right away"); |
| assert_equals(cs.height, "200px", "Height should have advanced to the end of the transition right away"); |
| }); |
| </script> |