Bug 1473586: Reduce testing time and add requestLongerTimeout. r?gl
MozReview-Commit-ID: 75EaEwkISrY
--- a/devtools/client/inspector/animation/test/browser_animation_summary-graph_compositor.js
+++ b/devtools/client/inspector/animation/test/browser_animation_summary-graph_compositor.js
@@ -1,47 +1,46 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Test that when animations displayed in the timeline are running on the
// compositor, they get a special icon and information in the tooltip.
+requestLongerTimeout(2);
+
add_task(async function() {
await addTab(URL_ROOT + "doc_simple_animation.html");
await removeAnimatedElementsExcept(
[".compositor-all", ".compositor-notall", ".no-compositor"]);
const { animationInspector, inspector, panel } = await openAnimationInspector();
- info("Select a test node we know has an animation running on the compositor");
- await selectNodeAndWaitForAnimations(".compositor-all", inspector);
-
- const summaryGraphEl = panel.querySelector(".animation-summary-graph");
- ok(summaryGraphEl.classList.contains("compositor"),
+ info("Check animation whose all properties are running on compositor");
+ const summaryGraphAllEl = findSummaryGraph(".compositor-all", panel);
+ ok(summaryGraphAllEl.classList.contains("compositor"),
"The element has the compositor css class");
- ok(hasTooltip(summaryGraphEl,
+ ok(hasTooltip(summaryGraphAllEl,
ANIMATION_L10N.getStr("player.allPropertiesOnCompositorTooltip")),
"The element has the right tooltip content");
- info("Select a node we know doesn't have an animation on the compositor");
- await selectNodeAndWaitForAnimations(".no-compositor", inspector);
-
- ok(!summaryGraphEl.classList.contains("compositor"),
+ info("Check animation is not running on compositor");
+ const summaryGraphNoEl = findSummaryGraph(".no-compositor", panel);
+ ok(!summaryGraphNoEl.classList.contains("compositor"),
"The element does not have the compositor css class");
- ok(!hasTooltip(summaryGraphEl,
+ ok(!hasTooltip(summaryGraphNoEl,
ANIMATION_L10N.getStr("player.allPropertiesOnCompositorTooltip")),
"The element does not have oncompositor tooltip content");
- ok(!hasTooltip(summaryGraphEl,
+ ok(!hasTooltip(summaryGraphNoEl,
ANIMATION_L10N.getStr("player.somePropertiesOnCompositorTooltip")),
"The element does not have oncompositor tooltip content");
- info("Select a node we know has animation on the compositor and not on the compositor");
+ info("Select a node has animation whose some properties are running on compositor");
await selectNodeAndWaitForAnimations(".compositor-notall", inspector);
-
+ const summaryGraphEl = panel.querySelector(".animation-summary-graph");
ok(summaryGraphEl.classList.contains("compositor"),
"The element has the compositor css class");
ok(hasTooltip(summaryGraphEl,
ANIMATION_L10N.getStr("player.somePropertiesOnCompositorTooltip")),
"The element has the right tooltip content");
info("Check compositor sign after pausing");
await clickOnPauseResumeButton(animationInspector, panel);
@@ -66,12 +65,17 @@ add_task(async function() {
ok(!summaryGraphEl.classList.contains("compositor"),
"The element should not have the compositor css class " +
"after setting the current time");
await clickOnPauseResumeButton(animationInspector, panel);
ok(summaryGraphEl.classList.contains("compositor"),
"The element should have the compositor css class after resuming");
});
+function findSummaryGraph(selector, panel) {
+ const animationItemEl = findAnimationItemElementsByTargetSelector(panel, selector);
+ return animationItemEl.querySelector(".animation-summary-graph");
+}
+
function hasTooltip(summaryGraphEl, expected) {
const tooltip = summaryGraphEl.getAttribute("title");
return tooltip.includes(expected);
}