blob: 0ce532a1c0c5a961e8d0992beb660ee8258a1b88 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
import { describe, expect, test } from "bun:test";
import {
getSourceSpanAtClipTime,
splitRetimeAtClipTime,
} from "@/lib/retime";
import type { RetimeConfig } from "@/lib/timeline";
describe("retime split", () => {
test("measures source span at a clip time", () => {
const retime: RetimeConfig = { rate: 2 };
expect(getSourceSpanAtClipTime({ clipTime: 5, retime })).toBe(10);
});
test("returns zero for non-positive clip time", () => {
expect(getSourceSpanAtClipTime({ clipTime: 0 })).toBe(0);
expect(getSourceSpanAtClipTime({ clipTime: -1 })).toBe(0);
});
test("passes the same retime to both halves when splitting", () => {
const retime: RetimeConfig = { rate: 1.5 };
const result = splitRetimeAtClipTime({ retime, splitClipTime: 3 });
expect(result.left).toBe(retime);
expect(result.right).toBe(retime);
});
test("returns undefined on both sides when no retime", () => {
const result = splitRetimeAtClipTime({ splitClipTime: 3 });
expect(result.left).toBeUndefined();
expect(result.right).toBeUndefined();
});
});
|