Tone.js/test/tests/Core.js
Yotam Mann c9713d46dd renamed tests/WebAudio to tests/Core
added tests to core
2014-06-20 00:57:56 -04:00

48 lines
No EOL
1.2 KiB
JavaScript

define(["chai", "Tone/core/Tone", "Tone/core/Master", "Tone/core/Bus"], function(chai, Tone, Master, Bus){
var expect = chai.expect;
describe("AudioContext", function(){
this.timeout(3000);
it ("was created", function(){
expect(Tone.context).to.be.instanceof(AudioContext);
});
it ("has OscillatorNode", function(){
expect(Tone.context.createOscillator).to.be.instanceof(Function);
});
it ("clock running", function(done){
var interval = setInterval(function(){
if (Tone.context.currentTime > 0){
clearInterval(interval);
done();
}
}, 20);
});
it ("has current API", function(){
expect(OscillatorNode.prototype.start).to.be.instanceof(Function);
expect(AudioBufferSourceNode.prototype.start).to.be.instanceof(Function);
expect(AudioContext.prototype.createGain).to.be.instanceof(Function);
});
});
describe("Tone.Master", function(){
it ("exists", function(){
expect(Tone.Master).to.equal(Master);
});
});
describe("Tone.Bus", function(){
it ("exists", function(){
expect(Bus).to.be.an("object");
});
it ("provides a send and receive method", function(){
expect(Tone.prototype.send).is.a("function");
expect(Tone.prototype.receive).is.a("function");
});
});
});