summaryrefslogtreecommitdiffstats
path: root/devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js')
-rw-r--r--devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js b/devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js
new file mode 100644
index 000000000..2f093f2e4
--- /dev/null
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js
@@ -0,0 +1,38 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/**
+ * Test AudioNode#bypassable
+ */
+
+add_task(function* () {
+ let { target, front } = yield initBackend(SIMPLE_NODES_URL);
+ let [_, nodes] = yield Promise.all([
+ front.setup({ reload: true }),
+ getN(front, "create-node", 14)
+ ]);
+
+ let actualBypassability = nodes.map(node => node.bypassable);
+ let expectedBypassability = [
+ false, // AudioDestinationNode
+ true, // AudioBufferSourceNode
+ true, // ScriptProcessorNode
+ true, // AnalyserNode
+ true, // GainNode
+ true, // DelayNode
+ true, // BiquadFilterNode
+ true, // WaveShaperNode
+ true, // PannerNode
+ true, // ConvolverNode
+ false, // ChannelSplitterNode
+ false, // ChannelMergerNode
+ true, // DynamicsCompressNode
+ true, // OscillatorNode
+ ];
+
+ expectedBypassability.forEach((bypassable, i) => {
+ is(actualBypassability[i], bypassable, `${nodes[i].type} has correct ".bypassable" status`);
+ });
+
+ yield removeTab(target.tab);
+});