66 lines
1.6 KiB
TypeScript
66 lines
1.6 KiB
TypeScript
import { describe, expect, it } from "@suaveplan/testing/runner";
|
|
import { findChangedTrackIds } from "./undo.js";
|
|
|
|
describe("findChangedTrackIds", () => {
|
|
it("returns empty when tracks are identical", () => {
|
|
const t = {
|
|
id: "t1",
|
|
name: "A",
|
|
clips: [],
|
|
volume: 1,
|
|
pan: 0,
|
|
muted: false,
|
|
soloed: false,
|
|
};
|
|
expect(findChangedTrackIds([t], [{ ...t }])).toEqual([]);
|
|
});
|
|
|
|
it("detects removed tracks", () => {
|
|
const t = {
|
|
id: "t1",
|
|
name: "A",
|
|
clips: [],
|
|
volume: 1,
|
|
pan: 0,
|
|
muted: false,
|
|
soloed: false,
|
|
};
|
|
expect(findChangedTrackIds([t], [])).toEqual(["t1"]);
|
|
});
|
|
|
|
it("detects added tracks", () => {
|
|
const t = {
|
|
id: "t1",
|
|
name: "A",
|
|
clips: [],
|
|
volume: 1,
|
|
pan: 0,
|
|
muted: false,
|
|
soloed: false,
|
|
};
|
|
expect(findChangedTrackIds([], [t])).toEqual(["t1"]);
|
|
});
|
|
|
|
it("detects changed tracks", () => {
|
|
const a = {
|
|
id: "t1",
|
|
name: "A",
|
|
clips: [],
|
|
volume: 1,
|
|
pan: 0,
|
|
muted: false,
|
|
soloed: false,
|
|
};
|
|
const b = {
|
|
id: "t1",
|
|
name: "B",
|
|
clips: [],
|
|
volume: 1,
|
|
pan: 0,
|
|
muted: false,
|
|
soloed: false,
|
|
};
|
|
expect(findChangedTrackIds([a], [b])).toEqual(["t1"]);
|
|
});
|
|
});
|