summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/web-animations/interfaces/KeyframeEffect/spacing.html
blob: 612a3af8d9edb4b3a3e37dddc2c5c76bf7de0a23 (plain)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE html>
<meta charset=utf-8>
<title>KeyframeEffect spacing attribute tests</title>
<link rel="help"
      href="https://w3c.github.io/web-animations/#dom-keyframeeffect-spacing">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../testcommon.js"></script>
<body>
<div id="log"></div>
<script>
"use strict";

test(function(t) {
  var anim = createDiv(t).animate(null);
  assert_throws(new TypeError, function() {
    anim.effect.spacing = '';
  });
}, 'Test throwing TypeError if using empty string');

test(function(t) {
  var anim = createDiv(t).animate(null);
  assert_throws(new TypeError, function() {
    anim.effect.spacing = 'dist';
  });
}, 'Test throwing TypeError if not using the correct keyword');

test(function(t) {
  var anim = createDiv(t).animate(null);
  anim.effect.spacing = 'paced(A)';
  assert_equals(anim.effect.spacing, 'distribute', 'spacing mode');
}, 'Test falling back to distribute spacing if using a unrecognized property');

test(function(t) {
  var anim = createDiv(t).animate(null);
  anim.effect.spacing = 'paced(--bg-color)';
  assert_equals(anim.effect.spacing, 'distribute', 'spacing mode');
}, 'Test falling back to distribute spacing if using CSS variables');

test(function(t) {
  var anim = createDiv(t).animate(null);
  anim.effect.spacing = 'paced(animation-duration)';
  assert_equals(anim.effect.spacing, 'distribute', 'spacing mode');
}, 'Test falling back to distribute spacing if using a non-animatable ' +
   'property');

test(function(t) {
  var anim = createDiv(t).animate(null);
  anim.effect.spacing = 'distribute';
  assert_equals(anim.effect.spacing, 'distribute', 'spacing mode');
}, 'Test spacing value if setting distribute');

test(function(t) {
  var anim = createDiv(t).animate(null);
  anim.effect.spacing = 'paced(transform)';
  assert_equals(anim.effect.spacing, 'paced(transform)', 'spacing mode');
}, 'Test spacing value if setting paced');

</script>
</body>