mirror of
https://github.com/cupcakearmy/occulto.git
synced 2026-06-11 07:56:51 +00:00
27 lines
974 B
TypeScript
27 lines
974 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { Bytes, Hash, Hashes, Hex } from "../src/index.js";
|
|
import { Precomputed } from "./values.js";
|
|
|
|
describe("Hash", () => {
|
|
for (const type of Object.keys(Hashes)) {
|
|
describe(type, () => {
|
|
const values = Precomputed.Hash[type];
|
|
for (const [input, output] of Object.entries(values)) {
|
|
if (typeof output !== "string") throw new Error("Bad test data");
|
|
|
|
it(`Should hash "${input}" to "${output.slice(0, 8)}..."`, async () => {
|
|
const hashed = await Hash.hash(input, Hashes[type]);
|
|
expect(hashed).toEqual(output);
|
|
});
|
|
|
|
it(`Should hash "${input}" to "${output.slice(0, 8)}..." as buffer`, async () => {
|
|
const outputBuffer = Hex.decode(output);
|
|
const inputBuffer = Bytes.encode(input);
|
|
const hashed = await Hash.hash(inputBuffer, Hashes[type]);
|
|
expect(hashed).toEqual(outputBuffer);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
});
|