testing/web-platform/tests/web-animations/responsive/background-position-responsive.html
author Lando <lando@lando.test>
Fri, 11 Jul 2025 09:11:47 +0000 (4 hours ago)
changeset 796052 0a0cf87651274d2f86228467e41dafd62a510749
parent 732320 c8377070070b54fe916617a178391cc548eacf41
permissions -rw-r--r--
Merge autoland to mozilla-central
<!DOCTYPE html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Animation with neutral keyframe is responsive to change in underlying style</title>
  <link rel="help" href="https://www.w3.org/TR/web-animations-1/#the-effect-value-of-a-keyframe-animation-effect">
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
  <script src="responsive-test.js"></script>
</head>
<body></body>
<script type="text/javascript">
  promise_test(async t => {
    const responsiveTest =
        createResponsiveTest(t, {
          property: 'backgroundPosition',
          to: '100px 100px'
        });
    await responsiveTest.ready;
    responsiveTest.underlyingValue = '20px 60px';
    responsiveTest.assertResponsive([
      {at: 0.25, is: '40px 70px'},
      {at: 0.75, is: '80px 90px'},
    ]);
    responsiveTest.underlyingValue = '60px 20px';
    responsiveTest.assertResponsive([
      {at: 0.25, is: '70px 40px'},
      {at: 0.75, is: '90px 80px'},
    ]);
  }, 'Animating from a neutral keyframe when the underlying style is ' +
     'explicitly set');

  promise_test(async t => {
    const responsiveTest =
        createResponsiveTest(t, {
          property: 'backgroundPosition',
          from: 'inherit',
          to: '100px 100px'
        });
    await responsiveTest.ready;
    responsiveTest.inheritedValue = '20px 60px';
    responsiveTest.assertResponsive([
      {at: 0.25, is: '40px 70px'},
      {at: 0.75, is: '80px 90px'},
    ]);
    responsiveTest.inheritedValue = '60px 20px';
    responsiveTest.assertResponsive([
      {at: 0.25, is: '70px 40px'},
      {at: 0.75, is: '90px 80px'},
    ]);
  }, 'Animating from a neutral keyframe when the underlying style is ' +
     'inherited from the parent');
</script>