summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/animation/test/browser_animation_current-time-scrubber-with-negative-delay.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--devtools/client/inspector/animation/test/browser_animation_current-time-scrubber-with-negative-delay.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/devtools/client/inspector/animation/test/browser_animation_current-time-scrubber-with-negative-delay.js b/devtools/client/inspector/animation/test/browser_animation_current-time-scrubber-with-negative-delay.js
new file mode 100644
index 0000000000..8b2e177079
--- /dev/null
+++ b/devtools/client/inspector/animation/test/browser_animation_current-time-scrubber-with-negative-delay.js
@@ -0,0 +1,48 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Test whether the most left position means negative current time.
+
+add_task(async function () {
+ await addTab(URL_ROOT + "doc_multi_timings.html");
+ await removeAnimatedElementsExcept([
+ ".cssanimation-normal",
+ ".delay-negative",
+ ]);
+ const { animationInspector, panel, inspector } =
+ await openAnimationInspector();
+
+ info("Checking scrubber controller existence");
+ const controllerEl = panel.querySelector(".current-time-scrubber-area");
+ ok(controllerEl, "scrubber controller should exist");
+
+ info("Checking the current time of most left scrubber position");
+ const timeScale = animationInspector.state.timeScale;
+ clickOnCurrentTimeScrubberController(animationInspector, panel, 0);
+ await waitUntilAnimationsPlayState(animationInspector, "paused");
+ await waitUntilCurrentTimeChangedAt(
+ animationInspector,
+ -1 * timeScale.zeroPositionTime
+ );
+ ok(true, "Current time is correct");
+
+ info("Select negative current time animation");
+ await selectNode(".cssanimation-normal", inspector);
+ await waitUntilCurrentTimeChangedAt(
+ animationInspector,
+ -1 * timeScale.zeroPositionTime
+ );
+ ok(true, "Current time is correct");
+
+ info("Back to 'body' and rewind the animation");
+ await selectNode("body", inspector);
+ await waitUntil(
+ () =>
+ panel.querySelectorAll(".animation-item").length ===
+ animationInspector.state.animations.length
+ );
+ clickOnRewindButton(animationInspector, panel);
+ await waitUntilCurrentTimeChangedAt(animationInspector, 0);
+});