summaryrefslogtreecommitdiffstats
path: root/devtools/client/webaudioeditor/test/browser_audionode-actor-bypassable.js
blob: 2f093f2e4c1ac814484ff41e40015eb114adb001 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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);
});