Bug 1265394 - Update tests; r=padenot draft
authorDan Minor <dminor@mozilla.com>
Thu, 23 Jun 2016 13:41:52 -0400
changeset 384171 376202ac4ff19a192042abd3f574b6e3b48f19ac
parent 384170 9d7e8e734f54d18af44f6a3c72a21b2d9b38d83f
child 384172 49cf9fdc009c41fb2c0fecad4ac2eb4e305c6541
push id22187
push userdminor@mozilla.com
push dateTue, 05 Jul 2016 18:31:32 +0000
reviewerspadenot
bugs1265394
milestone50.0a1
Bug 1265394 - Update tests; r=padenot MozReview-Commit-ID: 1G42f5ct8d4
dom/media/webaudio/test/blink/panner-model-testing.js
dom/media/webaudio/test/test_pannerNode.html
dom/media/webaudio/test/test_pannerNodeAbove.html
dom/media/webaudio/test/test_pannerNodeChannelCount.html
dom/media/webaudio/test/test_pannerNodeHRTFSymmetry.html
dom/media/webaudio/test/test_pannerNodePassThrough.html
dom/media/webaudio/test/test_pannerNode_maxDistance.html
--- a/dom/media/webaudio/test/blink/panner-model-testing.js
+++ b/dom/media/webaudio/test/blink/panner-model-testing.js
@@ -46,17 +46,18 @@ function createGraph(context, nodeCount)
         bufferSource[k].buffer = impulse;
 
         panner[k] = context.createPanner();
         panner[k].panningModel = "equalpower";
         panner[k].distanceModel = "linear";
 
         var angle = angleStep * k;
         position[k] = {angle : angle, x : Math.cos(angle), z : Math.sin(angle)};
-        panner[k].setPosition(position[k].x, 0, position[k].z);
+        panner[k].positionX.value = position[k].x;
+        panner[k].positionZ.value = position[k].z;
 
         bufferSource[k].connect(panner[k]);
         panner[k].connect(context.destination);
 
         // Start the source
         time[k] = k * timeStep;
         bufferSource[k].start(time[k]);
     }
--- a/dom/media/webaudio/test/test_pannerNode.html
+++ b/dom/media/webaudio/test/test_pannerNode.html
@@ -41,17 +41,25 @@ addLoadEvent(function() {
   near(panner.coneInnerAngle, 360, "Correct default value for cone inner angle");
   near(panner.coneOuterAngle, 360, "Correct default value for cone outer angle");
   near(panner.coneOuterGain, 0, "Correct default value for cone outer gain");
   is(panner.channelCount, 2, "panner node has 2 input channels by default");
   is(panner.channelCountMode, "clamped-max", "Correct channelCountMode for the panner node");
   is(panner.channelInterpretation, "speakers", "Correct channelCountInterpretation for the panner node");
 
   panner.setPosition(1, 1, 1);
-  panner.setOrientation(1, 1, 1);
+  near(panner.positionX.value, 1, "setPosition sets AudioParam properly");
+  near(panner.positionY.value, 1, "setPosition sets AudioParam properly");
+  near(panner.positionZ.value, 1, "setPosition sets AudioParam properly");
+
+  panner.setOrientation(0, 1, 0);
+  near(panner.orientationX.value, 0, "setOrientation sets AudioParam properly");
+  near(panner.orientationY.value, 1, "setOrientation sets AudioParam properly");
+  near(panner.orientationZ.value, 0, "setOrientation sets AudioParam properly");
+
   panner.setVelocity(1, 1, 1);
 
   source.start(0);
   SimpleTest.executeSoon(function() {
     source.stop(0);
     source.disconnect();
     panner.disconnect();
 
--- a/dom/media/webaudio/test/test_pannerNodeAbove.html
+++ b/dom/media/webaudio/test/test_pannerNodeAbove.html
@@ -14,17 +14,17 @@ var gTest = {
   numberOfChannels: 2,
   createGraph: function(context) {
     // An up vector will be made perpendicular to the front vector, in the
     // front-up plane.
     context.listener.setOrientation(0, 6.311749985202524e+307, 0, 0.1, 1000, 0);
     // Linearly dependent vectors are ignored.
     context.listener.setOrientation(0, 0, -6.311749985202524e+307, 0, 0, 6.311749985202524e+307);
     var panner = context.createPanner();
-    panner.setPosition(2, 0, 0); // directly above
+    panner.positionX.value = 2; // directly above
     panner.rolloffFactor = 0; // no distance gain
     panner.panningModel = "equalpower"; // no effect when directly above
 
     var source = context.createBufferSource();
     source.buffer = this.buffer;
     source.connect(panner);
     source.start(0);
 
--- a/dom/media/webaudio/test/test_pannerNodeChannelCount.html
+++ b/dom/media/webaudio/test/test_pannerNodeChannelCount.html
@@ -18,17 +18,19 @@ var gTest = {
     for (var i = 0; i < 2048; ++i) {
       var sample = Math.sin(440 * 2 * Math.PI * i / context.sampleRate);
       // When mixed into a single channel, this produces silence
       buffer.getChannelData(0)[i] = sample;
       buffer.getChannelData(1)[i] = -sample;
     }
 
     var panner = context.createPanner();
-    panner.setPosition(1, 2, 3);
+    panner.positionX.value = 1;
+    panner.positionY.value = 2;
+    panner.positionZ.value = 3;
     panner.channelCount = 1;
     expectException(function() { panner.channelCount = 3; },
                     DOMException.NOT_SUPPORTED_ERR);
     panner.channelCountMode = "explicit";
     expectException(function() { panner.channelCountMode = "max"; },
                     DOMException.NOT_SUPPORTED_ERR);
     panner.channelInterpretation = "discrete";
     panner.channelInterpretation = "speakers";
--- a/dom/media/webaudio/test/test_pannerNodeHRTFSymmetry.html
+++ b/dom/media/webaudio/test/test_pannerNodeHRTFSymmetry.html
@@ -26,18 +26,18 @@ function isChannelSilent(channel) {
   return true;
 }
 
 function startTest() {
   var leftPanner = ctx.createPanner();
   var rightPanner = ctx.createPanner();
   leftPanner.type = "HRTF";
   rightPanner.type = "HRTF";
-  leftPanner.setPosition(-1,0,0);
-  rightPanner.setPosition(1,0,0);
+  leftPanner.positionX.value = -1;
+  rightPanner.positionX.value = 1;
 
   // Test that PannerNode processes the signal consistently irrespective of
   // the offset in the processing block.  This is done by inserting a delay of
   // less than a block size before one panner.
   const delayTime = 0.7 * blockSize / ctx.sampleRate;
   var leftDelay = ctx.createDelay(delayTime);
   leftDelay.delayTime.value = delayTime;
   leftDelay.connect(leftPanner);
--- a/dom/media/webaudio/test/test_pannerNodePassThrough.html
+++ b/dom/media/webaudio/test/test_pannerNodePassThrough.html
@@ -19,17 +19,17 @@ var gTest = {
     var panner = context.createPanner();
 
     source.buffer = this.buffer;
 
     source.connect(panner);
 
     context.listener.setOrientation(0, 6.311749985202524e+307, 0, 0.1, 1000, 0);
     context.listener.setOrientation(0, 0, -6.311749985202524e+307, 0, 0, 6.311749985202524e+307);
-    panner.setPosition(2, 0, 0);
+    panner.positionX = 2;
     panner.rolloffFactor = 0;
     panner.panningModel = "equalpower";
 
     var pannerWrapped = SpecialPowers.wrap(panner);
     ok("passThrough" in pannerWrapped, "PannerNode should support the passThrough API");
     pannerWrapped.passThrough = true;
 
     source.start(0);
--- a/dom/media/webaudio/test/test_pannerNode_maxDistance.html
+++ b/dom/media/webaudio/test/test_pannerNode_maxDistance.html
@@ -24,17 +24,17 @@ function finish() {
 
 function test(type) {
   var ac = new OfflineAudioContext(1, 128, 44100);
   var osc = ac.createOscillator();
   var panner = ac.createPanner();
 
   panner.distanceModel = "linear";
   panner.maxDistance = 100;
-  panner.setPosition(0, 200, 0);
+  panner.positionY.value = 200;
   ac.listener.setPosition(0, 0, 0);
 
   osc.connect(panner);
   panner.connect(ac.destination);
 
   osc.start();
 
   ac.startRendering().then(function(buffer) {