@azgaar/tone
Version:
A fork of Web Audio framework for making interactive music in the browser.
48 lines • 2.15 kB
JavaScript
import { __awaiter } from "tslib";
import * as Tone from "./index";
import { expect } from "chai";
import { Destination } from "./core/context/Destination";
import { Context } from "./core/context/Context";
import { Transport } from "./core/clock/Transport";
import { Draw } from "./core/util/Draw";
describe("Tone", () => {
it("has 'now' and 'immediate' methods", () => {
expect(Tone.now).to.be.a("function");
expect(Tone.now()).to.be.a("number");
expect(Tone.immediate).to.be.a("function");
expect(Tone.immediate()).to.be.a("number");
});
it("exports the global singletons", () => {
expect(Tone.Destination).to.be.an.instanceOf(Destination);
expect(Tone.Draw).to.be.an.instanceOf(Draw);
expect(Tone.Transport).to.be.an.instanceOf(Transport);
expect(Tone.context).to.be.an.instanceOf(Context);
});
it("exports the global singleton getters", () => {
expect(Tone.getDestination()).to.be.an.instanceOf(Destination);
expect(Tone.getDraw()).to.be.an.instanceOf(Draw);
expect(Tone.getTransport()).to.be.an.instanceOf(Transport);
});
it("can start the global context", () => {
return Tone.start();
});
it("resolves the promise when everything is loaded", () => {
return Tone.loaded();
});
it("can set the global context from a raw online context", () => __awaiter(void 0, void 0, void 0, function* () {
const ctx = new AudioContext();
const origContext = Tone.getContext();
Tone.setContext(ctx);
expect(Tone.getContext().rawContext).to.equal(ctx);
yield ctx.close();
Tone.setContext(origContext);
}));
it("can set the global context from a raw offline context", () => __awaiter(void 0, void 0, void 0, function* () {
const ctx = new OfflineAudioContext(2, 44100, 44100);
const origContext = Tone.getContext();
Tone.setContext(ctx);
expect(Tone.getContext().rawContext).to.equal(ctx);
Tone.setContext(origContext);
}));
});
//# sourceMappingURL=index.test.js.map