feat: implement Opus decoder runtime checks and add tests for decoder functionality

This commit is contained in:
MythEclipse
2026-05-13 18:56:44 +07:00
parent 4dadcf3871
commit 220c3b93d2
4 changed files with 77 additions and 7 deletions
+33
View File
@@ -0,0 +1,33 @@
import process from "node:process";
import { beforeEach, describe, expect, it, vi } from "vitest";
beforeEach(() => {
process.env = {
...process.env,
DISCORD_TOKEN: "token",
NODE_ENV: "test",
};
vi.resetModules();
});
describe("shouldEnableDefaultOpusDecoder", () => {
it("disables default decoder on Bun when native opus is unavailable", async () => {
const { shouldEnableDefaultOpusDecoder } = await import(
"../src/recorder/decoder"
);
expect(
shouldEnableDefaultOpusDecoder({ isBun: true, canLoadNativeOpus: false }),
).toBe(false);
});
it("enables default decoder when native opus is available", async () => {
const { shouldEnableDefaultOpusDecoder } = await import(
"../src/recorder/decoder"
);
expect(
shouldEnableDefaultOpusDecoder({ isBun: true, canLoadNativeOpus: true }),
).toBe(true);
});
});