16 lines
577 B
TypeScript
16 lines
577 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { extractPeaks } from "../../src/media/peaks";
|
|
|
|
describe("waveform peak extraction", () => {
|
|
it("covers every sample when bucket sizes are uneven", () => {
|
|
const peaks = extractPeaks(Float32Array.of(0.1, -0.8, 0.2, 0.4, -1), 2);
|
|
expect(peaks[0]).toBeCloseTo(0.8);
|
|
expect(peaks[1]).toBe(1);
|
|
});
|
|
|
|
it("rejects invalid bounds and handles empty PCM", () => {
|
|
expect(extractPeaks(new Float32Array(), 5)).toHaveLength(0);
|
|
expect(() => extractPeaks(Float32Array.of(1), 0)).toThrow(/positive/u);
|
|
});
|
|
});
|