UNPKG

@cloudpss/ubjson

Version:

Opinionated UBJSON encoder/decoder for CloudPSS.

28 lines (24 loc) 886 B
import { EXPECTED, INPUTS } from './.data.js'; import { encode, decode } from '../../dist/index.js'; it.each(Object.keys(INPUTS))('%s', (name) => { const input = INPUTS[name]; const expected = EXPECTED[name] ?? input; if (expected instanceof Error) { expect(() => { const encoded = encode(input); decode(encoded); }).toThrow(expected); } else { const encoded = encode(input); const decoded = decode(encoded); expect(decoded).toEqual(expected); } }); test('decode ArrayBuffer', () => { const obj = { a: 1, b: undefined, c: { d: 2, e: undefined, f: null } }; expect(decode(encode(obj).buffer)).toEqual(obj); }); test('decode Int8Array', () => { const obj = { a: 1, b: undefined, c: { d: 2, e: undefined, f: null } }; expect(decode(new Int8Array(encode(obj).buffer))).toEqual(obj); });