Bug 1472550 - Adjust a web platform test slightly to test that the parameter is a-rate. r=karlt draft
authorPaul Adenot <paul@paul.cx>
Fri, 06 Jul 2018 15:19:01 +0200
changeset 817783 7eb4af260a0f5880a2d563d47cc92bca85eff2bb
parent 817782 29aabddc7caf16427330687acbab91f9c3047d32
child 817784 6161e33d7d8ef83eb5e16a4570a770401dd672cd
push id116162
push userpaul@paul.cx
push dateFri, 13 Jul 2018 12:47:51 +0000
reviewerskarlt
bugs1472550
milestone63.0a1
Bug 1472550 - Adjust a web platform test slightly to test that the parameter is a-rate. r=karlt MozReview-Commit-ID: AiOHVaXVEBA
testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation.html
--- a/testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation.html
+++ b/testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/test-pannernode-automation.html
@@ -1,30 +1,35 @@
 <!doctype html>
 <meta charset=utf-8>
 <title></title>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
 <script>
+
+// This value is purposefuly not aligned on a 128-block boundary so that we test
+// that the PannerNode position audioparam is a-rate.
+const POSITION_CHANGE_FRAME = 1111;
+
 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);
+  panner.positionX.setValueAtTime(1, POSITION_CHANGE_FRAME/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) {
-      if (i < 1024) {
+      if (i < POSITION_CHANGE_FRAME) {
         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");