diff options
Diffstat (limited to 'devtools/client/shared/test/browser_graphs-15.js')
-rw-r--r-- | devtools/client/shared/test/browser_graphs-15.js | 49 |
1 files changed, 49 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 000000000..af2c9875e --- /dev/null +++ b/devtools/client/shared/test/browser_graphs-15.js @@ -0,0 +1,49 @@ +/* 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 (let frameRate of FRAMES) { + for (let i = 0; i < frameRate; i++) { + // Duration between frames at this rate + let delta = Math.floor(1000 / frameRate); + t += delta; + TEST_DATA.push(t); + } +} + +const LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget"); + +add_task(function* () { + yield addTab("about:blank"); + yield performTest(); + gBrowser.removeCurrentTab(); +}); + +function* performTest() { + let [host,, doc] = yield createHost(); + let graph = new LineGraphWidget(doc.body, "fps"); + + yield testGraph(graph); + + yield graph.destroy(); + host.destroy(); +} + +function* testGraph(graph) { + console.log("test data", TEST_DATA); + yield graph.setDataFromTimestamps(TEST_DATA, INTERVAL, DURATION); + is(graph._avgTooltip.querySelector("[text=value]").textContent, "50", + "The average tooltip displays the correct value."); +} |