diff options
Diffstat (limited to 'devtools/client/webaudioeditor/test/browser_audionode-actor-connectnode-disconnect.js')
-rw-r--r-- | devtools/client/webaudioeditor/test/browser_audionode-actor-connectnode-disconnect.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/browser_audionode-actor-connectnode-disconnect.js b/devtools/client/webaudioeditor/test/browser_audionode-actor-connectnode-disconnect.js new file mode 100644 index 000000000..dcd1689f5 --- /dev/null +++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-connectnode-disconnect.js @@ -0,0 +1,39 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Tests that AudioNodeActor#connectNode() and AudioNodeActor#disconnect() work. + * Uses the editor front as the actors do not retain connect state. + */ + +add_task(function* () { + let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL); + let { panelWin } = panel; + let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin; + + let events = Promise.all([ + get3(gFront, "create-node"), + waitForGraphRendered(panelWin, 3, 2) + ]); + reload(target); + let [actors] = yield events; + let [dest, osc, gain] = actors; + + info("Disconnecting oscillator..."); + osc.disconnect(); + yield Promise.all([ + waitForGraphRendered(panelWin, 3, 1), + once(gAudioNodes, "disconnect") + ]); + ok(true, "Oscillator disconnected, event emitted."); + + info("Reconnecting oscillator..."); + osc.connectNode(gain); + yield Promise.all([ + waitForGraphRendered(panelWin, 3, 2), + once(gAudioNodes, "connect") + ]); + ok(true, "Oscillator reconnected."); + + yield teardown(target); +}); |