<!DOCTYPE html>
<title>Animate non-accelerated property using worklet animation</title>
<link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/">

<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/web-animations/testcommon.js"></script>
<script src="common.js"></script>

<div id="target"></div>
<div id="target2"></div>

<script>
  promise_test(async t => {
    await registerConstantLocalTimeAnimator(1000);
    const target = document.getElementById("target");
    const effect = new KeyframeEffect(
        target,
        [
          { background: 'green' },
          { background: 'blue' },
        ],
        { duration: 2000 }
    );

    const target2 = document.getElementById("target2");
    const effect2 = new KeyframeEffect(
        target2,
        [
          { boxShadow: '4px 4px 25px blue' },
          { boxShadow: '4px 4px 25px green' }
        ],
        { duration: 2000 }
    );
    const animation = new WorkletAnimation('constant_time', effect);
    animation.play();
    const animation2 = new WorkletAnimation('constant_time', effect2);
    animation2.play();

    await waitForAsyncAnimationFrames(1);
    assert_equals(getComputedStyle(target).backgroundColor, "rgb(0, 64, 128)");
    assert_equals(getComputedStyle(target2).boxShadow, "rgb(0, 64, 128) 4px 4px 25px 0px");
  }, "Individual worklet animation should output values at specified local time for corresponding targets and effects");
</script>
