Tone.js/Tone/core/clock/TransportEvent.test.ts

46 lines
1.1 KiB
TypeScript
Raw Normal View History

2019-05-22 03:37:03 +00:00
import { expect } from "chai";
import { Offline } from "test/helper/Offline";
import { Transport } from "./Transport";
import { TransportEvent } from "./TransportEvent";
describe("TransportEvent", () => {
it("can be created and disposed", () => {
return Offline((context) => {
2019-09-16 03:32:40 +00:00
const transport = new Transport({ context });
2019-05-22 03:37:03 +00:00
const event = new TransportEvent(transport, {
time: 0,
});
event.dispose();
});
});
it("has a unique id", () => {
return Offline((context) => {
2019-09-16 03:32:40 +00:00
const transport = new Transport({ context });
2019-05-22 03:37:03 +00:00
const event = new TransportEvent(transport, {
time: 0,
});
expect(event.id).to.be.a("number");
event.dispose();
});
});
it("can invoke the callback", () => {
let wasInvoked = false;
return Offline((context) => {
2019-09-16 03:32:40 +00:00
const transport = new Transport({ context });
2019-05-22 03:37:03 +00:00
const event = new TransportEvent(transport, {
callback: (time) => {
expect(time).to.equal(100);
wasInvoked = true;
2019-05-22 03:37:03 +00:00
},
time: 0,
});
event.invoke(100);
}).then(() => {
expect(wasInvoked).to.equal(true);
2019-05-22 03:37:03 +00:00
});
});
});