Tone.js/test/component/Mono.js

51 lines
1.5 KiB
JavaScript
Raw Normal View History

import Mono from "Tone/component/Mono";
import Basic from "helper/Basic";
import Test from "helper/Test";
import Offline from "helper/Offline";
import Signal from "Tone/signal/Signal";
import StereoSignal from "helper/StereoSignal";
describe("Mono", function(){
Basic(Mono);
context("Mono", function(){
it("handles input and output connections", function(){
var mono = new Mono();
Test.connect(mono);
mono.connect(Test);
mono.dispose();
});
it("Makes a mono signal in both channels", function(){
return Offline(function(){
var mono = new Mono().toMaster();
var signal = new Signal(2).connect(mono);
}, 0.1, 2).then(function(buffer){
expect(buffer.toArray()[0][0]).to.equal(2);
expect(buffer.toArray()[1][0]).to.equal(2);
expect(buffer.toArray()[0][100]).to.equal(2);
expect(buffer.toArray()[1][100]).to.equal(2);
expect(buffer.toArray()[0][1000]).to.equal(2);
expect(buffer.toArray()[1][1000]).to.equal(2);
});
});
it("Sums a stereo signal into a mono signal", function(){
return Offline(function(){
var mono = new Mono().toMaster();
var signal = StereoSignal(2, 2).connect(mono);
}, 0.1, 2).then(function(buffer){
expect(buffer.toArray()[0][0]).to.equal(2);
expect(buffer.toArray()[1][0]).to.equal(2);
expect(buffer.toArray()[0][100]).to.equal(2);
expect(buffer.toArray()[1][100]).to.equal(2);
expect(buffer.toArray()[0][1000]).to.equal(2);
expect(buffer.toArray()[1][1000]).to.equal(2);
});
});
});
});