Bug 1265394 - Update tests; r=padenot
MozReview-Commit-ID: 1G42f5ct8d4
--- 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) {