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
↓ peach-browser-a01510e3.tar.gzatlas at this save
files changed1 file
src/crypto/mayan.test.ts+19 −0src/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);