summaryrefslogtreecommitdiffstats
path: root/devtools/client/animationinspector/test/browser_animation_playerFronts_are_refreshed.js
blob: 7144adf6cd4db84166306a9dc3c06300686cc5a7 (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
/* 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");
});