Bug 1265394 - Add test for PannerNode automation; r=padenot draft
authorDan Minor <dminor@mozilla.com>
Thu, 23 Jun 2016 16:48:17 -0400
changeset 384172 49cf9fdc009c41fb2c0fecad4ac2eb4e305c6541
parent 384171 376202ac4ff19a192042abd3f574b6e3b48f19ac
child 384173 0eb6dca2c33c9419dafa499601c116bd27e88dda
child 384581 d09616b16b05e975cd814f065e37ecbe1887f492
push id22187
push userdminor@mozilla.com
push dateTue, 05 Jul 2016 18:31:32 +0000
reviewerspadenot
bugs1265394
milestone50.0a1
Bug 1265394 - Add test for PannerNode automation; r=padenot MozReview-Commit-ID: BGI2iNfdf1s
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation.html
--- 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>