import Test from "helper/Test"; import Panner3D from "Tone/component/Panner3D"; import PassAudio from "helper/PassAudio"; describe("Panner3D", function(){ it("passes the incoming signal through", function(){ return PassAudio(function(input){ var panner = new Panner3D().toMaster(); input.connect(panner); }); }); it("can get/set the position individually", function(){ var panner = new Panner3D(); panner.positionX = 10; expect(panner.positionX).to.equal(10); panner.positionY = 20; expect(panner.positionY).to.equal(20); panner.positionZ = -1; expect(panner.positionZ).to.equal(-1); panner.dispose(); }); it("can get/set the orientation individually", function(){ var panner = new Panner3D(); panner.orientationX = 2; expect(panner.orientationX).to.equal(2); panner.orientationY = 4; expect(panner.orientationY).to.equal(4); panner.orientationZ = -3; expect(panner.orientationZ).to.equal(-3); panner.dispose(); }); it("can get/set the position through setPosition", function(){ var panner = new Panner3D(); panner.setPosition(3, -11, 2); expect(panner.positionX).to.equal(3); expect(panner.positionY).to.equal(-11); expect(panner.positionZ).to.equal(2); panner.dispose(); }); it("can get/set the orientation through setOrientation", function(){ var panner = new Panner3D(); panner.setOrientation(2, -1, 0.5); expect(panner.orientationX).to.equal(2); expect(panner.orientationY).to.equal(-1); expect(panner.orientationZ).to.equal(0.5); panner.dispose(); }); it("can get/set all of the other attributes", function(){ var values = { "panningModel" : "HRTF", "maxDistance" : 10002, "distanceModel" : "exponential", "coneOuterGain" : 0.3, "coneOuterAngle" : 280, "coneInnerAngle" : 120, "refDistance" : 0.3, "rolloffFactor" : 3 }; var panner = new Panner3D(); for (var v in values){ panner[v] = values[v]; expect(panner[v]).to.equal(values[v]); } panner.dispose(); }); });