summaryrefslogtreecommitdiffstats
path: root/devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js')
-rw-r--r--devtools/client/webaudioeditor/test/browser_audionode-actor-bypass.js36
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);
+});