diff options
Diffstat (limited to 'devtools/client/shared/test/browser_graphs-09f.js')
-rw-r--r-- | devtools/client/shared/test/browser_graphs-09f.js | 53 |
1 files changed, 53 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 000000000..32b5819b2 --- /dev/null +++ b/devtools/client/shared/test/browser_graphs-09f.js @@ -0,0 +1,53 @@ +/* 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(function* () { + yield addTab("about:blank"); + yield performTest(); + gBrowser.removeCurrentTab(); +}); + +function* performTest() { + let [host,, doc] = yield createHost(); + + yield testGraph(doc.body, { avg: false }); + yield testGraph(doc.body, { min: false }); + yield testGraph(doc.body, { max: false }); + yield testGraph(doc.body, { min: false, max: false, avg: false }); + yield testGraph(doc.body, {}); + + host.destroy(); +} + +function* testGraph(parent, options) { + options.metric = "fps"; + let graph = new LineGraphWidget(parent, options); + yield graph.setDataWhenReady(TEST_DATA); + let 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`); + + yield graph.destroy(); +} |