aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes.html
blob: 90ab89d5761f2417732b4c83b8387ec47fafc0e1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<meta charset=utf-8>
<title>KeyframeEffect.setKeyframes</title>
<link rel="help" href="https://drafts.csswg.org/web-animations/#dom-keyframeeffect-setkeyframes">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../testcommon.js"></script>
<script src="../../resources/keyframe-utils.js"></script>
<script src="../../resources/keyframe-tests.js"></script>
<body>
<div id="log"></div>
<div id="target"></div>
<script>
'use strict';

const target = document.getElementById('target');

test(t => {
  for (const frame of gEmptyKeyframeListTests) {
    const effect = new KeyframeEffect(target, {});
    effect.setKeyframes(frame);
    assert_frame_lists_equal(effect.getKeyframes(), []);
  }
}, 'Keyframes can be replaced with an empty keyframe');

for (const subtest of gKeyframesTests) {
  test(t => {
    const effect = new KeyframeEffect(target, {});
    effect.setKeyframes(subtest.input);
    assert_frame_lists_equal(effect.getKeyframes(), subtest.output);
  }, `Keyframes can be replaced with ${subtest.desc}`);
}

for (const subtest of gInvalidKeyframesTests) {
  test(t => {
    const effect = new KeyframeEffect(target, {});
    assert_throws(new TypeError, () => {
      effect.setKeyframes(subtest.input);
    });
  }, `KeyframeEffect constructor throws with ${subtest.desc}`);
}
</script>
</body>