This commit is contained in:
fkwp
2026-04-09 18:35:56 +02:00
parent 108a5f09c6
commit f8fa9d1e7e
3 changed files with 37 additions and 19 deletions

View File

@@ -53,7 +53,8 @@ vi.mock("deepfilternet3-noise-filter", () => {
}; };
}); });
const mockDeepFilterNoiseFilterProcessor = DeepFilterNoiseFilterProcessor as unknown as NoiseFilterProcessorMock; const mockDeepFilterNoiseFilterProcessor =
DeepFilterNoiseFilterProcessor as unknown as NoiseFilterProcessorMock;
describe("NoiseSuppressionTransformer", () => { describe("NoiseSuppressionTransformer", () => {
beforeEach((): void => { beforeEach((): void => {
@@ -100,8 +101,12 @@ describe("NoiseSuppressionTransformer", () => {
transformer.setSuppressionLevel(1.5); transformer.setSuppressionLevel(1.5);
transformer.setSuppressionLevel(-0.2); transformer.setSuppressionLevel(-0.2);
expect(mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel).toHaveBeenNthCalledWith(1, 100); expect(
expect(mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel).toHaveBeenNthCalledWith(2, 0); mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel,
).toHaveBeenNthCalledWith(1, 100);
expect(
mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel,
).toHaveBeenNthCalledWith(2, 0);
}); });
it("forwards enabled state changes to the underlying processor", (): void => { it("forwards enabled state changes to the underlying processor", (): void => {
@@ -111,8 +116,12 @@ describe("NoiseSuppressionTransformer", () => {
transformer.setEnabled(false); transformer.setEnabled(false);
transformer.setEnabled(true); transformer.setEnabled(true);
expect(mockDeepFilterNoiseFilterProcessor.mockSetEnabled).toHaveBeenNthCalledWith(1, false); expect(
expect(mockDeepFilterNoiseFilterProcessor.mockSetEnabled).toHaveBeenNthCalledWith(2, true); mockDeepFilterNoiseFilterProcessor.mockSetEnabled,
).toHaveBeenNthCalledWith(1, false);
expect(
mockDeepFilterNoiseFilterProcessor.mockSetEnabled,
).toHaveBeenNthCalledWith(2, true);
}); });
it("destroys the processor and resets internal state", (): void => { it("destroys the processor and resets internal state", (): void => {
@@ -121,7 +130,9 @@ describe("NoiseSuppressionTransformer", () => {
transformer.destroy(); transformer.destroy();
expect(mockDeepFilterNoiseFilterProcessor.mockDestroy).toHaveBeenCalledTimes(1); expect(
mockDeepFilterNoiseFilterProcessor.mockDestroy,
).toHaveBeenCalledTimes(1);
expect(transformer.getProcessor()).toBeNull(); expect(transformer.getProcessor()).toBeNull();
}); });
}); });

View File

@@ -75,7 +75,8 @@ vi.mock("deepfilternet3-noise-filter", () => {
}; };
}); });
const mockDeepFilterNoiseFilterProcessor = DeepFilterNoiseFilterProcessor as unknown as NoiseFilterProcessorMock; const mockDeepFilterNoiseFilterProcessor =
DeepFilterNoiseFilterProcessor as unknown as NoiseFilterProcessorMock;
let audioTrackNoiseSuppressionSync: AudioTrackNoiseSuppressionSync; let audioTrackNoiseSuppressionSync: AudioTrackNoiseSuppressionSync;
let noiseSuppressionEnabled: Setting<boolean>; let noiseSuppressionEnabled: Setting<boolean>;
@@ -126,8 +127,12 @@ describe("audioTrackNoiseSuppressionSync", () => {
expect(track.setProcessor).toHaveBeenCalledTimes(1); expect(track.setProcessor).toHaveBeenCalledTimes(1);
expect(track.getProcessor()).not.toBeUndefined(); expect(track.getProcessor()).not.toBeUndefined();
expect(mockDeepFilterNoiseFilterProcessor.mockSetEnabled).toHaveBeenCalledWith(false); expect(
expect(mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel).toHaveBeenCalledWith(75); mockDeepFilterNoiseFilterProcessor.mockSetEnabled,
).toHaveBeenCalledWith(false);
expect(
mockDeepFilterNoiseFilterProcessor.mockSetSuppressionLevel,
).toHaveBeenCalledWith(75);
}); });
it("reapplies processor when audio track becomes available", async (): Promise<void> => { it("reapplies processor when audio track becomes available", async (): Promise<void> => {
@@ -150,6 +155,8 @@ describe("audioTrackNoiseSuppressionSync", () => {
scope.end(); scope.end();
await Promise.resolve(); await Promise.resolve();
expect(mockDeepFilterNoiseFilterProcessor.mockDestroy).toHaveBeenCalledTimes(1); expect(
mockDeepFilterNoiseFilterProcessor.mockDestroy,
).toHaveBeenCalledTimes(1);
}); });
}); });

View File

@@ -159,23 +159,23 @@ vi.mock("../MediaDevicesContext", () => ({
} => ({ } => ({
audioInput: { audioInput: {
selectedId: "mic1", selectedId: "mic1",
available$: new BehaviorSubject<readonly { deviceId: string; label: string }[]>([ available$: new BehaviorSubject<
{ deviceId: "mic1", label: "Microphone 1" }, readonly { deviceId: string; label: string }[]
] as const), >([{ deviceId: "mic1", label: "Microphone 1" }] as const),
selected$: new BehaviorSubject({ id: "mic1", label: "Microphone 1" }), selected$: new BehaviorSubject({ id: "mic1", label: "Microphone 1" }),
}, },
audioOutput: { audioOutput: {
selectedId: "speaker1", selectedId: "speaker1",
available$: new BehaviorSubject<readonly { deviceId: string; label: string }[]>([ available$: new BehaviorSubject<
{ deviceId: "speaker1", label: "Speaker 1" }, readonly { deviceId: string; label: string }[]
] as const), >([{ deviceId: "speaker1", label: "Speaker 1" }] as const),
selected$: new BehaviorSubject({ id: "speaker1", label: "Speaker 1" }), selected$: new BehaviorSubject({ id: "speaker1", label: "Speaker 1" }),
}, },
videoInput: { videoInput: {
selectedId: "cam1", selectedId: "cam1",
available$: new BehaviorSubject<readonly { deviceId: string; label: string }[]>([ available$: new BehaviorSubject<
{ deviceId: "cam1", label: "Camera 1" }, readonly { deviceId: string; label: string }[]
] as const), >([{ deviceId: "cam1", label: "Camera 1" }] as const),
selected$: new BehaviorSubject({ id: "cam1", label: "Camera 1" }), selected$: new BehaviorSubject({ id: "cam1", label: "Camera 1" }),
}, },
requestDeviceNames: vi.fn(), requestDeviceNames: vi.fn(),