kdenlive-ts/src/example.test.ts

62 lines
1.7 KiB
TypeScript

import { $ } from "zx";
import Project from "./kdenlive";
describe("Kdenlive", () => {
describe("example", () => {
it("should equal 'example'", async () => {
const project = new Project(30);
project.addProducer("/home/kuba/Videos/5min.mp4");
project.addProducer("/home/kuba/Videos/5min.wav");
await $`echo ${await project.toXML()} > project-generated.kdenlive`;
});
});
describe("tracks", () => {
it("should generate a project with three audio tracks", async () => {
const project = new Project(30);
for (let i = 1; i <= 3; i++) {
project.addAudioTractor();
}
await $`echo ${await project.toXML()} > three-audio-tracks.kdenlive`;
});
it("should generate a project with one video track", async () => {
const project = new Project(30);
project.addVideoTractor();
await $`echo ${await project.toXML()} > 1v-tracks.kdenlive`;
});
it("should generate a project with one video track and one audio track", async () => {
const project = new Project(30);
project.addVideoTractor();
project.addAudioTractor();
await $`echo ${await project.toXML()} > 1a1v-tracks.kdenlive`;
});
it("should generate a project with three audio and video tracks", async () => {
const project = new Project(30);
for (let i = 1; i <= 3; i++) {
project.addVideoTractor();
project.addAudioTractor();
}
await $`echo ${await project.toXML()} > 3a3v-tracks.kdenlive`;
});
it("should generate a project with 20 audio and video tracks", async () => {
const project = new Project(30);
for (let i = 1; i <= 20; i++) {
project.addVideoTractor();
project.addAudioTractor();
}
await $`echo ${await project.toXML()} > 20a20v-tracks.kdenlive`;
});
});
});