<!doctype html>
<html>
<head>
<meta charset=utf-8>
<title>CSS Transitions Test: behavior when transition-timing-function changes while transitioning</title>
<meta name="assert" content="Checks a change to the transition-timing-function
property does not affect an in-flight transition">
<link rel="help" title="3. Starting of transitions" href="https://drafts.csswg.org/css-transitions/#starting">

<script src="/resources/testharness.js" type="text/javascript"></script>
<script src="/resources/testharnessreport.js" type="text/javascript"></script>
<script src="./support/helper.js" type="text/javascript"></script>

</head>
<body>
<div id="log"></div>

<script>
promise_test(async t => {
  // Start a transition 50% of the way through with a linear timing function
  const div = addDiv(t, {
    style: 'transition: height 100s -50s linear; height: 0px',
  });
  getComputedStyle(div).height;
  div.style.height = '100px';
  assert_equals(
    getComputedStyle(div).height,
    '50px',
    'Transition should be initially 50% complete'
  );

  // Update the timing function
  div.style.transitionTimingFunction = 'steps(1, end)';

  // If the change to the transition-timing-function was reflected, the
  // computed height would now be '0px'.
  assert_equals(
    getComputedStyle(div).height,
    '50px',
    'Even after updating the transition-timing-function, the transition should be 50% complete'
  );

  // Wait a frame just to be sure that the changed timing function is not later
  // updated.
  await waitForFrame();

  assert_greater_than_equal(
    parseInt(getComputedStyle(div).height),
    50,
    'Even in the next frame the updated transition-timing-function should not apply'
  );
}, 'Changes to transition-timing-function should not affect in-flight transitions');
</script>

</body>
</html>
