<style>

div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    background-color: green;
    opacity: 0;
}

</style>

<div></div>

<script src="../resources/ui-helper.js"></script>
<script>

(async () => {
    window.testRunner?.waitUntilDone();

    const target = document.querySelector("div");

    // Create a scale animation for 0.1s.
    const scale = target.animate({ scale: [0.5, 1] }, 100);

    // And a fade animation for 10s but which visually completes
    // at the same time as the scale animation.
    const fade = target.animate([
        { offset: 0,    opacity: 0.5 },
        { offset: 0.01, opacity: 1 },
        { offset: 1,    opacity: 1 },
    ], { duration: 10_000, fill: "both" });

    // Wait until the scale animation ends and for animations to be updated
    // to check that the opacity animation is in the expected visual state.
    await scale.finished;

    await UIHelper.animationFrame();
    await UIHelper.animationFrame();
    await UIHelper.animationFrame();

    window.testRunner?.notifyDone();
})();

</script>
