Fastwhisper / frontend /src /motion /gestures.test.ts
Mbonea's picture
Add F0-F1 frontend and serve static build
5e0e982
Raw
History Blame Contribute Delete
702 Bytes
import { describe, expect, it } from "vitest";
import { project, rubberband, velocityFromSamples } from "./gestures";
describe("gestures", () => {
it("projects velocity with Apple deceleration", () => {
const distance = project(1000, 0.998);
expect(distance).toBeCloseTo(499, 0);
});
it("rubberbands overshoot toward zero", () => {
const pulled = rubberband(100, 300, 0.55);
expect(pulled).toBeGreaterThan(0);
expect(pulled).toBeLessThan(100);
});
it("computes velocity from pointer samples", () => {
const v = velocityFromSamples(
[
{ t: 0, x: 0, y: 0 },
{ t: 100, x: 0, y: 50 },
],
"y",
);
expect(v).toBe(500);
});
});