summaryrefslogtreecommitdiffstats
path: root/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-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-automation-data-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-automation-data-02.js')
-rw-r--r--devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-02.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-02.js b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-02.js
new file mode 100644
index 000000000..f24fb1905
--- /dev/null
+++ b/devtools/client/webaudioeditor/test/browser_audionode-actor-get-automation-data-02.js
@@ -0,0 +1,42 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/**
+ * Test AudioNode#addAutomationEvent() when automation series ends with
+ * `setTargetAtTime`, which approaches its target to infinity.
+ */
+
+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")
+ ]);
+
+ yield oscNode.addAutomationEvent("frequency", "setValueAtTime", [300, 0.1]);
+ yield oscNode.addAutomationEvent("frequency", "linearRampToValueAtTime", [500, 0.4]);
+ yield oscNode.addAutomationEvent("frequency", "exponentialRampToValueAtTime", [200, 0.6]);
+ // End with a setTargetAtTime event, as the target approaches infinity, which will
+ // give us more points to render than the default 2000
+ yield oscNode.addAutomationEvent("frequency", "setTargetAtTime", [1000, 2, 0.5]);
+
+ var { events, values } = yield oscNode.getAutomationData("frequency");
+
+ is(events.length, 4, "4 recorded events returned.");
+ is(values.length, 4000, "4000 value points returned when ending with exponentiall approaching automator.");
+
+ checkAutomationValue(values, 2.01, 215.055);
+ checkAutomationValue(values, 2.1, 345.930);
+ checkAutomationValue(values, 3, 891.601);
+ checkAutomationValue(values, 5, 998.01);
+
+ // Refetch the automation data to ensure it recalculates correctly (bug 1118071)
+ var { events, values } = yield oscNode.getAutomationData("frequency");
+
+ checkAutomationValue(values, 2.01, 215.055);
+ checkAutomationValue(values, 2.1, 345.930);
+ checkAutomationValue(values, 3, 891.601);
+ checkAutomationValue(values, 5, 998.01);
+
+ yield removeTab(target.tab);
+});