a01510e32b46

wip: pre-v2 — added 5KB and 20KB image-pipeline round-trip tests

time
2026-05-01 18:45 UTC · 6 months ago
machine
koh2
parent
36d1d3899c98
1 file src/crypto/mayan.test.ts+19 −0
src/crypto/mayan.test.ts+19 −0
@@ -182,6 +182,25 @@182182     expect(Array.from(decoded!)).toEqual(Array.from(payload));183183   });184184 185+  it("decodes a 5000-byte payload via the full image pipeline at modulePx=4", () => {186+    const payload = randomPayload(5000);187+    const { matrix, size } = encodeMayanMatrix(payload);188+    const imgData = matrixToImageData(matrix, size, 4);189+    const decoded = decodeMayan(imgData);190+    expect(decoded).not.toBeNull();191+    expect(Array.from(decoded!)).toEqual(Array.from(payload));192+  });193+194+  it("decodes a near-max payload (20000 bytes) at modulePx=4 — the realistic backup case", () => {195+    const payload = randomPayload(20000);196+    const { matrix, size } = encodeMayanMatrix(payload);197+    console.log(`20000-byte payload → size=${size}`);198+    const imgData = matrixToImageData(matrix, size, 4);199+    const decoded = decodeMayan(imgData);200+    expect(decoded).not.toBeNull();201+    expect(Array.from(decoded!)).toEqual(Array.from(payload));202+  });203+185204   it("decodes a 500-byte payload via the full image pipeline at modulePx=3", () => {186205     const payload = randomPayload(500);187206     const { matrix, size } = encodeMayanMatrix(payload);

view file