summaryrefslogtreecommitdiffstats
path: root/devtools/client/animationinspector/test/unit/test_timeScale_dimensions.js
blob: f6d80e60b0267fcef859b1ec2c929d870fc69896 (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
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
   https://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

const Cu = Components.utils;
const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
const {TimeScale} = require("devtools/client/animationinspector/utils");

const TEST_ENDDELAY_X = [{
  desc: "Testing positive-endDelay animations",
  animations: [{
    previousStartTime: 0,
    duration: 500,
    playbackRate: 1,
    iterationCount: 3,
    delay: 500,
    endDelay: 500
  }],
  expectedEndDelayX: 80
}, {
  desc: "Testing negative-endDelay animations",
  animations: [{
    previousStartTime: 0,
    duration: 500,
    playbackRate: 1,
    iterationCount: 9,
    delay: 500,
    endDelay: -500
  }],
  expectedEndDelayX: 90
}];

function run_test() {
  do_print("Test calculating endDelayX");

  // Be independent of possible prior tests
  TimeScale.reset();

  for (let {desc, animations, expectedEndDelayX} of TEST_ENDDELAY_X) {
    do_print(`Adding animations: ${desc}`);

    for (let state of animations) {
      TimeScale.addAnimation(state);

      let {endDelayX} = TimeScale.getAnimationDimensions({state});
      equal(endDelayX, expectedEndDelayX);

      TimeScale.reset();
    }
  }
}