Initial Commit
This commit is contained in:
41
packages/media/image/colours/src/utils/utils.test.ts
Normal file
41
packages/media/image/colours/src/utils/utils.test.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { describe, expect, it } from "@suaveplan/testing/runner";
|
||||
import {
|
||||
clamp,
|
||||
isFiniteNumber,
|
||||
roundAlpha,
|
||||
roundChannel,
|
||||
roundPercent,
|
||||
} from "./utils.js";
|
||||
|
||||
describe("utils", () => {
|
||||
it("clamp restricts to range", { timeout: 5000 }, () => {
|
||||
expect(clamp(5, 0, 10)).toBe(5);
|
||||
expect(clamp(-5, 0, 10)).toBe(0);
|
||||
expect(clamp(15, 0, 10)).toBe(10);
|
||||
});
|
||||
|
||||
it("isFiniteNumber rejects non-finite", { timeout: 5000 }, () => {
|
||||
expect(isFiniteNumber(5)).toBe(true);
|
||||
expect(isFiniteNumber(Number.NaN)).toBe(false);
|
||||
expect(isFiniteNumber(Number.POSITIVE_INFINITY)).toBe(false);
|
||||
expect(isFiniteNumber("5")).toBe(false);
|
||||
});
|
||||
|
||||
it("roundChannel clamps to 0-255", { timeout: 5000 }, () => {
|
||||
expect(roundChannel(128.6)).toBe(129);
|
||||
expect(roundChannel(-10)).toBe(0);
|
||||
expect(roundChannel(300)).toBe(255);
|
||||
});
|
||||
|
||||
it("roundPercent clamps to 0-100", { timeout: 5000 }, () => {
|
||||
expect(roundPercent(50.4)).toBe(50);
|
||||
expect(roundPercent(-5)).toBe(0);
|
||||
expect(roundPercent(105)).toBe(100);
|
||||
});
|
||||
|
||||
it("roundAlpha clamps to 0-1", { timeout: 5000 }, () => {
|
||||
expect(roundAlpha(0.5)).toBe(0.5);
|
||||
expect(roundAlpha(-0.1)).toBe(0);
|
||||
expect(roundAlpha(1.1)).toBe(1);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user