diff options
Diffstat (limited to 'devtools/client/animationinspector/test/unit/test_timeScale_dimensions.js')
-rw-r--r-- | devtools/client/animationinspector/test/unit/test_timeScale_dimensions.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/devtools/client/animationinspector/test/unit/test_timeScale_dimensions.js b/devtools/client/animationinspector/test/unit/test_timeScale_dimensions.js new file mode 100644 index 000000000..f6d80e60b --- /dev/null +++ b/devtools/client/animationinspector/test/unit/test_timeScale_dimensions.js @@ -0,0 +1,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(); + } + } +} |