diff options
Diffstat (limited to 'devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js')
-rw-r--r-- | devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js b/devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js new file mode 100644 index 000000000..e9fc7f321 --- /dev/null +++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js @@ -0,0 +1,36 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Test AudioNode#bypass(), AudioNode#isBypassed() + */ + +add_task(function* () { + let { target, front } = yield initBackend(SIMPLE_CONTEXT_URL); + let [_, [destNode, oscNode, gainNode]] = yield Promise.all([ + front.setup({ reload: true }), + get3(front, "create-node") + ]); + + is((yield gainNode.isBypassed()), false, "Nodes start off unbypassed."); + + info("Calling node#bypass(true)"); + let isBypassed = yield gainNode.bypass(true); + + is(isBypassed, true, "node.bypass(true) resolves to true"); + is((yield gainNode.isBypassed()), true, "Node is now bypassed."); + + info("Calling node#bypass(false)"); + isBypassed = yield gainNode.bypass(false); + + is(isBypassed, false, "node.bypass(false) resolves to false"); + is((yield gainNode.isBypassed()), false, "Node back to being unbypassed."); + + info("Calling node#bypass(true) on unbypassable node"); + isBypassed = yield destNode.bypass(true); + + is(isBypassed, false, "node.bypass(true) resolves to false for unbypassable node"); + is((yield gainNode.isBypassed()), false, "Unbypassable node is unaffect"); + + yield removeTab(target.tab); +}); |