Bug 1067769 - Part 4: Add some simple tests for document.getAnimation() in wpt. r=birtles
authorBoris Chiou <boris.chiou@gmail.com>
Thu, 28 Apr 2016 23:22:43 +0800
changeset 357619 8628768ddf1ff5e4530aa96609a7190f6d9882fa
parent 357618 9f8e27fc1e18cf7dcd525939d959720c46c9b097
child 357620 c78c3f96703247bf04125249ab1f46d991147976
push id16816
push userbmo:gasolin@mozilla.com
push dateFri, 29 Apr 2016 03:33:20 +0000
reviewersbirtles
bugs1067769
milestone49.0a1
Bug 1067769 - Part 4: Add some simple tests for document.getAnimation() in wpt. r=birtles MozReview-Commit-ID: Ip2XYKMfUjb
testing/web-platform/tests/web-animations/document/getAnimations.html
--- a/testing/web-platform/tests/web-animations/document/getAnimations.html
+++ b/testing/web-platform/tests/web-animations/document/getAnimations.html
@@ -6,20 +6,48 @@
 <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) {
-  var effect = new KeyframeEffectReadOnly(null,
-                                          { left: ['10px', '20px'] },
-                                          100 * MS_PER_SEC);
+  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');