summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/web-animations/interfaces/Document/getAnimations.html
blob: e87751c04b2251de34daecd17ce49aae1857d614 (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
<!DOCTYPE html>
<meta charset=utf-8>
<title>document.getAnimations tests</title>
<link rel="help" href="https://w3c.github.io/web-animations/#dom-document-getanimations">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../testcommon.js"></script>
<body>
<div id="log"></div>
<div id="target"></div>
<script>
"use strict";

var gKeyFrames = { 'marginLeft': ['100px', '200px'] };

test(function(t) {
  assert_equals(document.getAnimations().length, 0,
                'getAnimations returns an empty sequence for a document ' +
                'with no animations');
}, 'Test document.getAnimations for non-animated content');

test(function(t) {
  var div = createDiv(t);
  var anim1 = div.animate(gKeyFrames, 100 * MS_PER_SEC);
  var anim2 = div.animate(gKeyFrames, 100 * MS_PER_SEC);
  assert_equals(document.getAnimations().length, 2,
                'getAnimation returns running animations');

  anim1.finish();
  anim2.finish();
  assert_equals(document.getAnimations().length, 0,
                'getAnimation only returns running animations');
}, 'Test document.getAnimations for script-generated animations')

test(function(t) {
  var div = createDiv(t);
  var anim1 = div.animate(gKeyFrames, 100 * MS_PER_SEC);
  var anim2 = div.animate(gKeyFrames, 100 * MS_PER_SEC);
  assert_array_equals(document.getAnimations(),
                      [ anim1, anim2 ],
                      'getAnimations() returns running animations');
}, 'Test the order of document.getAnimations with script generated animations')

test(function(t) {
  var effect = new KeyframeEffectReadOnly(null, gKeyFrames, 100 * MS_PER_SEC);
  var anim = new Animation(effect, document.timeline);
  anim.play();

  assert_equals(document.getAnimations().length, 0,
                'document.getAnimations() only returns animations targeting ' +
                'elements in this document');
}, 'Test document.getAnimations with null target');

</script>
</body>