import { expect, test } from "vitest" import { assertBase64, base64ToString, isBase64, stringToBase64 } from "#Source/encoding/index.ts" test("isBase64 validates Base64 input", () => { expect(isBase64("aGVsbG8=")).toBe(true) expect(isBase64("5L2g5aW9")).toBe(true) expect(isBase64("8J+Ri/CfjI0=")).toBe(true) expect(isBase64("aGVs\n bG8=")).toBe(true) expect(isBase64("%%%")).toBe(false) expect(isBase64("abc")).toBe(false) }) test("assertBase64 throws on malformed input", () => { expect(() => assertBase64("aGVsbG8=")).not.toThrow() expect(() => assertBase64("aGVs\n bG8=")).not.toThrow() expect(() => assertBase64("%%%")).toThrow(TypeError) expect(() => assertBase64("abc")).toThrow(TypeError) }) test("stringToBase64 converts UTF-8 text to Base64", () => { expect(stringToBase64("hello")).toBe("aGVsbG8=") expect(stringToBase64("你好")).toBe("5L2g5aW9") expect(stringToBase64("👋🌍")).toBe("8J+Ri/CfjI0=") }) test("base64ToString converts Base64 to UTF-8 text and validates malformed input", () => { expect(base64ToString("aGVsbG8=")).toBe("hello") expect(base64ToString("5L2g5aW9")).toBe("你好") expect(base64ToString("8J+Ri/CfjI0=")).toBe("👋🌍") expect(() => base64ToString("%%%")).toThrow(TypeError) expect(() => base64ToString("abc")).toThrow(TypeError) })