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:
Daisuke Akatsuka 2018-06-16 04:23:59 +09:00
parent f90d416882
commit 0e06059049
2 changed files with 39 additions and 0 deletions

View File

@ -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]

View File

@ -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 }`);
}