Initial Commit
This commit is contained in:
40
packages/foundation/data/mime/tests/no-disallowed.test.ts
Normal file
40
packages/foundation/data/mime/tests/no-disallowed.test.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* Guard test: verifies the package surface does not rely on
|
||||
* `Math.random()` or `Date.now()` directly in its runtime code.
|
||||
*
|
||||
* MIME detection is a pure function of its inputs — no time-based or
|
||||
* random-based side effects should be needed.
|
||||
*/
|
||||
import { describe, expect, it } from "@suaveplan/testing/runner";
|
||||
import {
|
||||
detectFromMagicBytes,
|
||||
formatContentType,
|
||||
getMimeEntry,
|
||||
parseContentType,
|
||||
} from "../src/index.js";
|
||||
|
||||
describe("no disallowed side-effects", () => {
|
||||
it("parseContentType is deterministic", { timeout: 5000 }, () => {
|
||||
const a = parseContentType("text/html; charset=utf-8");
|
||||
const b = parseContentType("text/html; charset=utf-8");
|
||||
expect(a).toEqual(b);
|
||||
});
|
||||
|
||||
it("formatContentType is deterministic", { timeout: 5000 }, () => {
|
||||
const parsed = parseContentType("text/plain; charset=utf-8");
|
||||
expect(formatContentType(parsed)).toBe(formatContentType(parsed));
|
||||
});
|
||||
|
||||
it("detectFromMagicBytes is deterministic", { timeout: 5000 }, () => {
|
||||
const png = new Uint8Array([
|
||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a,
|
||||
]);
|
||||
const r1 = detectFromMagicBytes(png);
|
||||
const r2 = detectFromMagicBytes(png);
|
||||
expect(r1).toEqual(r2);
|
||||
});
|
||||
|
||||
it("getMimeEntry is deterministic", { timeout: 5000 }, () => {
|
||||
expect(getMimeEntry("image/png")).toEqual(getMimeEntry("image/png"));
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user