diff options
Diffstat (limited to 'devtools/client/shared/test/browser_graphs-15.js')
-rw-r--r-- | devtools/client/shared/test/browser_graphs-15.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/devtools/client/shared/test/browser_graphs-15.js b/devtools/client/shared/test/browser_graphs-15.js new file mode 100644 index 0000000000..b4fdfbfb7e --- /dev/null +++ b/devtools/client/shared/test/browser_graphs-15.js @@ -0,0 +1,52 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Tests that graph widgets correctly emit mouse input events. + +const FAST_FPS = 60; +const SLOW_FPS = 10; + +// Each element represents a second +const FRAMES = [FAST_FPS, FAST_FPS, FAST_FPS, SLOW_FPS, FAST_FPS]; +const TEST_DATA = []; +const INTERVAL = 100; +const DURATION = 5000; +var t = 0; +for (const frameRate of FRAMES) { + for (let i = 0; i < frameRate; i++) { + // Duration between frames at this rate + const delta = Math.floor(1000 / frameRate); + t += delta; + TEST_DATA.push(t); + } +} + +const LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget"); + +add_task(async function() { + await addTab("about:blank"); + await performTest(); + gBrowser.removeCurrentTab(); +}); + +async function performTest() { + const { host, doc } = await createHost(); + const graph = new LineGraphWidget(doc.body, "fps"); + + await testGraph(graph); + + await graph.destroy(); + host.destroy(); +} + +async function testGraph(graph) { + console.log("test data", TEST_DATA); + await graph.setDataFromTimestamps(TEST_DATA, INTERVAL, DURATION); + is( + graph._avgTooltip.querySelector("[text=value]").textContent, + "50", + "The average tooltip displays the correct value." + ); +} |