@cloudpss/ubjson
Version:
Opinionated UBJSON encoder/decoder for CloudPSS.
31 lines (28 loc) • 883 B
JavaScript
import { resetEnv } from '../.utils.js';
import { INPUTS, EXPECTED } from './.data.js';
import { encode, decode } from '../../dist/index.js';
describe('no Buffer', () => {
beforeAll(() => {
// @ts-expect-error remove buffer
globalThis.Buffer = undefined;
resetEnv();
});
afterAll(() => {
globalThis.Buffer = Buffer;
resetEnv();
});
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);
}
});
});