Files

32 lines
898 B
TypeScript

import { parseProgressBlock } from "@snapotter/media-engine";
import { describe, expect, it } from "vitest";
describe("parseProgressBlock", () => {
it("parses an ffmpeg -progress key=value block", () => {
const block = [
"frame=120",
"fps=24.0",
"bitrate= 256.0kbits/s",
"total_size=98304",
"out_time_us=5000000",
"out_time=00:00:05.000000",
"speed=1.01x",
"progress=continue",
].join("\n");
const p = parseProgressBlock(block);
expect(p.outTimeMs).toBe(5000);
expect(p.done).toBe(false);
});
it("flags progress=end", () => {
const p = parseProgressBlock("out_time_us=1000000\nprogress=end");
expect(p.done).toBe(true);
expect(p.outTimeMs).toBe(1000);
});
it("tolerates missing fields", () => {
const p = parseProgressBlock("frame=1\nprogress=continue");
expect(p.outTimeMs).toBeNull();
});
});