mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 23:31:56 +00:00
Bug 1466773 - Part 5: Add tests that whether the translateX change after resizing the width of animation inspector. r=gl
MozReview-Commit-ID: AbnJb8tmjJQ --HG-- extra : rebase_source : 5b29c7dd22a09a7f7ded65a0fb89551d33149df6
This commit is contained in:
parent
f90d416882
commit
0e06059049
@ -35,6 +35,7 @@ support-files =
|
||||
[browser_animation_current-time-scrubber.js]
|
||||
[browser_animation_current-time-scrubber_each-different-creation-time-animations.js]
|
||||
[browser_animation_empty_on_invalid_nodes.js]
|
||||
[browser_animation_indication-bar.js]
|
||||
[browser_animation_inspector_exists.js]
|
||||
[browser_animation_keyframes-graph_computed-value-path-01.js]
|
||||
[browser_animation_keyframes-graph_computed-value-path-02.js]
|
||||
|
@ -0,0 +1,38 @@
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
"use strict";
|
||||
|
||||
// Test whether the indication bar of both scrubber and progress bar indicates correct
|
||||
// progress after resizing animation inspector.
|
||||
|
||||
add_task(async function() {
|
||||
await pushPref("devtools.inspector.three-pane-enabled", false);
|
||||
await addTab(URL_ROOT + "doc_simple_animation.html");
|
||||
await removeAnimatedElementsExcept([".animated"]);
|
||||
const { animationInspector, inspector, panel } = await openAnimationInspector();
|
||||
|
||||
info("Checking timeline tick item elements after enlarge sidebar width");
|
||||
await clickOnCurrentTimeScrubberController(animationInspector, panel, 0.5);
|
||||
await setSidebarWidth("100%", inspector);
|
||||
assertPosition(".current-time-scrubber", panel, 0.5);
|
||||
assertPosition(".keyframes-progress-bar", panel, 0.5);
|
||||
});
|
||||
|
||||
/**
|
||||
* Assert indication bar position.
|
||||
*
|
||||
* @param {String} indicationBarSelector
|
||||
* @param {Element} panel
|
||||
* @param {Number} expectedPositionRate
|
||||
*/
|
||||
function assertPosition(indicationBarSelector, panel, expectedPositionRate) {
|
||||
const barEl = panel.querySelector(indicationBarSelector);
|
||||
const parentEl = barEl.parentNode;
|
||||
const rectBar = barEl.getBoundingClientRect();
|
||||
const rectParent = parentEl.getBoundingClientRect();
|
||||
const barX = rectBar.x + rectBar.width * 0.5 - rectParent.x;
|
||||
const expectedPosition = rectParent.width * expectedPositionRate;
|
||||
ok(expectedPosition - 1 <= barX && barX <= expectedPosition + 1,
|
||||
`Indication bar position should be approximately ${ expectedPosition }`);
|
||||
}
|
Loading…
Reference in New Issue
Block a user