<!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:[email protected]" 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>