summaryrefslogtreecommitdiffstats
path: root/devtools/client/animationinspector/test/browser_animation_playerFronts_are_refreshed.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/animationinspector/test/browser_animation_playerFronts_are_refreshed.js')
-rw-r--r--devtools/client/animationinspector/test/browser_animation_playerFronts_are_refreshed.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/devtools/client/animationinspector/test/browser_animation_playerFronts_are_refreshed.js b/devtools/client/animationinspector/test/browser_animation_playerFronts_are_refreshed.js
new file mode 100644
index 000000000..7144adf6c
--- /dev/null
+++ b/devtools/client/animationinspector/test/browser_animation_playerFronts_are_refreshed.js
@@ -0,0 +1,36 @@
+/* vim: set ts=2 et sw=2 tw=80: */
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+requestLongerTimeout(2);
+
+// Check that the AnimationPlayerFront objects lifecycle is managed by the
+// AnimationController.
+
+add_task(function* () {
+ yield addTab(URL_ROOT + "doc_simple_animation.html");
+ let {controller, inspector} = yield openAnimationInspector();
+
+ info("Selecting an animated node");
+ // selectNode waits for the inspector-updated event before resolving, which
+ // means the controller.PLAYERS_UPDATED_EVENT event has been emitted before
+ // and players are ready.
+ yield selectNodeAndWaitForAnimations(".animated", inspector);
+
+ is(controller.animationPlayers.length, 1,
+ "One AnimationPlayerFront has been created");
+
+ info("Selecting a node with mutliple animations");
+ yield selectNodeAndWaitForAnimations(".multi", inspector);
+
+ is(controller.animationPlayers.length, 2,
+ "2 AnimationPlayerFronts have been created");
+
+ info("Selecting a node with no animations");
+ yield selectNodeAndWaitForAnimations(".still", inspector);
+
+ is(controller.animationPlayers.length, 0,
+ "There are no more AnimationPlayerFront objects");
+});