<!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>