diff options
Diffstat (limited to 'devtools/client/webaudioeditor/test/browser_wa_automation-view-01.js')
-rw-r--r-- | devtools/client/webaudioeditor/test/browser_wa_automation-view-01.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/browser_wa_automation-view-01.js b/devtools/client/webaudioeditor/test/browser_wa_automation-view-01.js new file mode 100644 index 000000000..1e0034b5b --- /dev/null +++ b/devtools/client/webaudioeditor/test/browser_wa_automation-view-01.js @@ -0,0 +1,57 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Tests that automation view shows the correct view depending on if events + * or params exist. + */ + +add_task(function* () { + let { target, panel } = yield initWebAudioEditor(AUTOMATION_URL); + let { panelWin } = panel; + let { gFront, $, $$, EVENTS } = panelWin; + + let started = once(gFront, "start-context"); + + let events = Promise.all([ + get3(gFront, "create-node"), + waitForGraphRendered(panelWin, 3, 2) + ]); + reload(target); + let [actors] = yield events; + let nodeIds = actors.map(actor => actor.actorID); + + let $tabbox = $("#web-audio-editor-tabs"); + + // Oscillator node + click(panelWin, findGraphNode(panelWin, nodeIds[1])); + yield waitForInspectorRender(panelWin, EVENTS); + $tabbox.selectedIndex = 1; + + ok(isVisible($("#automation-graph-container")), "graph container should be visible"); + ok(isVisible($("#automation-content")), "automation content should be visible"); + ok(!isVisible($("#automation-no-events")), "no-events panel should not be visible"); + ok(!isVisible($("#automation-empty")), "empty panel should not be visible"); + + // Gain node + click(panelWin, findGraphNode(panelWin, nodeIds[2])); + yield waitForInspectorRender(panelWin, EVENTS); + $tabbox.selectedIndex = 1; + + ok(!isVisible($("#automation-graph-container")), "graph container should not be visible"); + ok(isVisible($("#automation-content")), "automation content should be visible"); + ok(isVisible($("#automation-no-events")), "no-events panel should be visible"); + ok(!isVisible($("#automation-empty")), "empty panel should not be visible"); + + // destination node + click(panelWin, findGraphNode(panelWin, nodeIds[0])); + yield waitForInspectorRender(panelWin, EVENTS); + $tabbox.selectedIndex = 1; + + ok(!isVisible($("#automation-graph-container")), "graph container should not be visible"); + ok(!isVisible($("#automation-content")), "automation content should not be visible"); + ok(!isVisible($("#automation-no-events")), "no-events panel should not be visible"); + ok(isVisible($("#automation-empty")), "empty panel should be visible"); + + yield teardown(target); +}); |