Bug 1265394 - Add test for PannerNode automation; r=padenot
MozReview-Commit-ID: BGI2iNfdf1s
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -36427,16 +36427,22 @@
"url": "/webaudio/the-audio-api/the-audioparam-interface/setTargetAtTime-after-event-within-block.html"
}
],
"webaudio/the-audio-api/the-audioparam-interface/setValueAtTime-within-block.html": [
{
"path": "webaudio/the-audio-api/the-audioparam-interface/setValueAtTime-within-block.html",
"url": "/webaudio/the-audio-api/the-audioparam-interface/setValueAtTime-within-block.html"
}
+ ],
+ "webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation.html": [
+ {
+ "path": "webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation.html",
+ "url": "/webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation.html"
+ }
]
}
},
"reftest_nodes": {}
},
"reftest_nodes": {
"2dcontext/building-paths/canvas_complexshapes_arcto_001.htm": [
{
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<meta charset=utf-8>
+<title></title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script>
+promise_test(function(t) {
+ var ac = new OfflineAudioContext(2, 2048, 44100);
+ var panner = ac.createPanner();
+ panner.positionX.value = -1;
+ panner.positionY.value = -1;
+ panner.positionZ.value = 1;
+ panner.positionX.setValueAtTime(1, 1024/ac.sampleRate);
+ var osc = ac.createOscillator();
+ osc.connect(panner);
+ panner.connect(ac.destination);
+ osc.start()
+ return ac.startRendering().then(function(buffer) {
+ var left = buffer.getChannelData(0);
+ var right = buffer.getChannelData(1);
+ for (var i = 0; i < 2048; ++i) {
+ console.log(left[i], right[i]);
+ if (i < 1024) {
+ assert_true(Math.abs(left[i]) >= Math.abs(right[i]), "index " + i + " should be on the left");
+ } else {
+ assert_true(Math.abs(left[i]) < Math.abs(right[i]), "index " + i + " should be on the right");
+ }
+ }
+ });
+}, "PannerNode AudioParam automation works properly");
+
+</script>