UNPKG

@simplito/privmx-webendpoint

Version:

PrivMX Web Endpoint library

53 lines (52 loc) 2.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../utils"); describe("Serialization Helpers", () => { test("serializeObject should correctly serialize objects", () => { const obj = { key: "value", num: 42 }; const result = (0, utils_1.serializeObject)(obj); expect(result).toBeInstanceOf(Uint8Array); expect((0, utils_1.uint8ToStr)(result)).toBe(JSON.stringify(obj)); }); test("serializeObject should throw an error for invalid inputs", () => { expect(() => (0, utils_1.serializeObject)(null)).toThrow(TypeError); expect(() => (0, utils_1.serializeObject)("string")).toThrow(TypeError); }); test("deserializeObject should correctly deserialize Uint8Array", () => { const obj = { key: "value", num: 42 }; const serialized = (0, utils_1.strToUint8)(JSON.stringify(obj)); const result = (0, utils_1.deserializeObject)(serialized); expect(result).toEqual(obj); }); test("deserializeObject should handle empty input gracefully", () => { const empty = new Uint8Array(); const result = (0, utils_1.deserializeObject)(empty); expect(result).toEqual({}); }); test("deserializeObject should throw an error for invalid inputs", () => { expect(() => (0, utils_1.deserializeObject)(null)).toThrow(TypeError); expect(() => (0, utils_1.deserializeObject)("string")).toThrow(TypeError); const invalidJson = (0, utils_1.strToUint8)("{ key: value }"); expect(() => (0, utils_1.deserializeObject)(invalidJson)).toThrow(SyntaxError); }); test("uint8ToStr should correctly convert Uint8Array to string", () => { const str = "Hello, world!"; const arr = (0, utils_1.strToUint8)(str); const result = (0, utils_1.uint8ToStr)(arr); expect(result).toBe(str); }); test("uint8ToStr should throw an error for invalid inputs", () => { expect(() => (0, utils_1.uint8ToStr)(null)).toThrow(TypeError); expect(() => (0, utils_1.uint8ToStr)("string")).toThrow(TypeError); }); test("strToUint8 should correctly convert string to Uint8Array", () => { const str = "Hello, world!"; const result = (0, utils_1.strToUint8)(str); expect(result).toBeInstanceOf(Uint8Array); expect((0, utils_1.uint8ToStr)(result)).toBe(str); }); test("strToUint8 should throw an error for invalid inputs", () => { expect(() => (0, utils_1.strToUint8)(null)).toThrow(TypeError); expect(() => (0, utils_1.strToUint8)(42)).toThrow(TypeError); }); });