<!DOCTYPE html>
<title>Test that worklet animation with invalid effect cannot be played</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>

<style>
#target {
  width: 100px;
  height: 100px;
}
</style>

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

<script>
'use strict';

promise_test(async function() {
  await registerPassthroughAnimator();
  let playFunc = function() {
    let effect = new KeyframeEffect(
        document.getElementById('target'),
        [
          // No keyframe.
        ],
        { duration: 1000 }
    );
    let animation = new WorkletAnimation('passthrough', effect);
    animation.play();
  }
  assert_throws_dom('InvalidStateError', playFunc);
}, 'Trying to play invalid worklet animation should throw an exception.');
</script>
