import { describe, expect, it } from "vitest"; import { parseFfprobeCodecAndSampleRate, parseFfprobeCsvFields } from "./ffmpeg-exec.js"; describe("parseFfprobeCsvFields", () => { it("splits ffprobe csv output across commas and newlines", () => { expect(parseFfprobeCsvFields("opus,\n48000\n", 2)).toEqual(["opus", "48000"]); }); }); describe("parseFfprobeCodecAndSampleRate", () => { it("parses opus codec and numeric sample rate", () => { expect(parseFfprobeCodecAndSampleRate("Opus,48000\n")).toEqual({ codec: "opus", sampleRateHz: 48_000, }); }); it("returns null sample rate for invalid numeric fields", () => { expect(parseFfprobeCodecAndSampleRate("opus,not-a-number")).toEqual({ codec: "opus", sampleRateHz: null, }); }); });