summaryrefslogtreecommitdiffstats
path: root/devtools/server/tests/browser/browser_animation_simple.js
blob: 0dd8adfde92d5a5edfa2dee9dfd33a52a77b9bfb (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
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

// Simple checks for the AnimationsActor

add_task(async function () {
  const { target, walker, animations } = await initAnimationsFrontForUrl(
    "data:text/html;charset=utf-8,<title>test</title><div></div>"
  );

  ok(animations, "The AnimationsFront was created");
  ok(
    animations.getAnimationPlayersForNode,
    "The getAnimationPlayersForNode method exists"
  );
  ok(animations.pauseSome, "The pauseSome method exists");
  ok(animations.playSome, "The playSome method exists");
  ok(animations.setCurrentTimes, "The setCurrentTimes method exists");
  ok(animations.setPlaybackRates, "The setPlaybackRates method exists");
  ok(animations.setWalkerActor, "The setWalkerActor method exists");

  let didThrow = false;
  try {
    await animations.getAnimationPlayersForNode(null);
  } catch (e) {
    didThrow = true;
  }
  ok(didThrow, "An exception was thrown for a missing NodeActor");

  const invalidNode = await walker.querySelector(walker.rootNode, "title");
  const players = await animations.getAnimationPlayersForNode(invalidNode);
  ok(Array.isArray(players), "An array of players was returned");
  is(players.length, 0, "0 players have been returned for the invalid node");

  await target.destroy();
  gBrowser.removeCurrentTab();
});