Tone.js/test/signal/EqualPowerGain.js

53 lines
1.4 KiB
JavaScript
Raw Normal View History

2015-08-24 21:29:19 +00:00
define(["helper/Offline", "Tone/signal/EqualPowerGain", "helper/Basic",
"Test", "Tone/source/Oscillator", "Tone/signal/Signal", "helper/PassAudio"],
function (Offline, EqualPowerGain, Basic, Test, Oscillator, Signal, PassAudio) {
describe("EqualPowerGain", function(){
Basic(EqualPowerGain);
context("Equal Power Gain", function(){
it("handles input and output connections", function(){
var eqGain = new EqualPowerGain();
Test.connect(eqGain);
eqGain.connect(Test);
eqGain.dispose();
});
it ("passes audio through", function(done){
var eqGain;
PassAudio(function(input, output){
eqGain = new EqualPowerGain();
input.chain(eqGain, output);
}, function(){
eqGain.dispose();
done();
});
});
it("scales the input on an equal power scale", function(done){
//make an oscillator to drive the signal
var sig, eqGain;
var offline = new Offline(1);
offline.before(function(dest){
sig = new Signal(0);
eqGain = new EqualPowerGain();
sig.connect(eqGain);
eqGain.connect(dest);
sig.setValueAtTime(0, 0);
sig.linearRampToValueAtTime(1, 1);
});
offline.test(function(sample, time){
expect(sample).to.be.closeTo(eqGain.equalPowerScale(time), 0.01);
});
offline.after(function(){
sig.dispose();
eqGain.dispose();
done();
});
offline.run();
});
});
});
});