Bug 1472550 - Adjust a web platform test slightly to test that the parameter is a-rate. r=karlt
authorPaul Adenot <paul@paul.cx>
Fri, 06 Jul 2018 15:19:01 +0200
changeset 426489 5b8172ac07f62ad785c0d8df160696d3173bd9fe
parent 426488 ab307640537f53949779e02c21ad1069357252bf
child 426490 70b5a9fca55ba14785e52935fdc69df965818e47
push id34274
push usernerli@mozilla.com
push dateFri, 13 Jul 2018 21:51:36 +0000
treeherdermozilla-central@e37eeb019cf8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskarlt
bugs1472550
milestone63.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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");