summaryrefslogtreecommitdiffstats
path: root/devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js')
-rw-r--r--devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js
new file mode 100644
index 000000000..8d60a5e4d
--- /dev/null
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-params-02.js
@@ -0,0 +1,52 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/**
+ * Tests that default properties are returned with the correct type
+ * from the AudioNode actors.
+ */
+
+add_task(function* () {
+ let { target, front } = yield initBackend(SIMPLE_NODES_URL);
+ let [_, nodes] = yield Promise.all([
+ front.setup({ reload: true }),
+ getN(front, "create-node", 15)
+ ]);
+
+ yield loadFrameScripts();
+
+ let allParams = yield Promise.all(nodes.map(node => node.getParams()));
+ let types = [
+ "AudioDestinationNode", "AudioBufferSourceNode", "ScriptProcessorNode",
+ "AnalyserNode", "GainNode", "DelayNode", "BiquadFilterNode", "WaveShaperNode",
+ "PannerNode", "ConvolverNode", "ChannelSplitterNode", "ChannelMergerNode",
+ "DynamicsCompressorNode", "OscillatorNode", "StereoPannerNode"
+ ];
+
+ let defaults = yield Promise.all(types.map(type => nodeDefaultValues(type)));
+
+ info(JSON.stringify(defaults));
+
+ allParams.forEach((params, i) => {
+ compare(params, defaults[i], types[i]);
+ });
+
+ yield removeTab(target.tab);
+});
+
+function compare(actual, expected, type) {
+ actual.forEach(({ value, param }) => {
+ value = getGripValue(value);
+ if (typeof expected[param] === "function") {
+ ok(expected[param](value), type + " has a passing value for " + param);
+ }
+ else {
+ is(value, expected[param], type + " has correct default value and type for " + param);
+ }
+ });
+
+ info(Object.keys(expected).join(",") + " - " + JSON.stringify(expected));
+
+ is(actual.length, Object.keys(expected).length,
+ type + " has correct amount of properties.");
+}