diff options
Diffstat (limited to 'devtools/client/shared/test/browser_graphs-09f.js')
-rw-r--r-- | devtools/client/shared/test/browser_graphs-09f.js | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/devtools/client/shared/test/browser_graphs-09f.js b/devtools/client/shared/test/browser_graphs-09f.js new file mode 100644 index 0000000000..8513347a7d --- /dev/null +++ b/devtools/client/shared/test/browser_graphs-09f.js @@ -0,0 +1,77 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Tests the constructor options for `min`, `max` and `avg` on displaying the +// gutter/tooltips and lines. + +const TEST_DATA = [ + { delta: 100, value: 60 }, + { delta: 200, value: 1 }, +]; +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(); + + await testGraph(doc.body, { avg: false }); + await testGraph(doc.body, { min: false }); + await testGraph(doc.body, { max: false }); + await testGraph(doc.body, { min: false, max: false, avg: false }); + await testGraph(doc.body, {}); + + host.destroy(); +} + +async function testGraph(parent, options) { + options.metric = "fps"; + const graph = new LineGraphWidget(parent, options); + await graph.setDataWhenReady(TEST_DATA); + const shouldGutterShow = options.min === false && options.max === false; + + is( + graph._gutter.hidden, + shouldGutterShow, + `The gutter should ${shouldGutterShow ? "" : "not "}be shown` + ); + + is( + graph._maxTooltip.hidden, + options.max === false, + `The max tooltip should ${options.max === false ? "not " : ""}be shown` + ); + is( + graph._maxGutterLine.hidden, + options.max === false, + `The max gutter should ${options.max === false ? "not " : ""}be shown` + ); + is( + graph._minTooltip.hidden, + options.min === false, + `The min tooltip should ${options.min === false ? "not " : ""}be shown` + ); + is( + graph._minGutterLine.hidden, + options.min === false, + `The min gutter should ${options.min === false ? "not " : ""}be shown` + ); + is( + graph._avgTooltip.hidden, + options.avg === false, + `The avg tooltip should ${options.avg === false ? "not " : ""}be shown` + ); + is( + graph._avgGutterLine.hidden, + options.avg === false, + `The avg gutter should ${options.avg === false ? "not " : ""}be shown` + ); + + await graph.destroy(); +} |