@ton-community/tlb-runtime
Version:
TL‑B Runtime is a library for parsing and (de)serializing data according to TL‑B schemas
24 lines (23 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@ton/core");
const parser_1 = require("./parser");
const tesdata_1 = require("./tesdata");
describe('TLBRuntime', () => {
describe('deserialize', () => {
describe.each(Object.keys(tesdata_1.groupCorpusFlat))('%s', (group) => {
it.each(tesdata_1.groupCorpusFlat[group])('deserialize %s', (schema, expected, boc) => {
const actual = (0, parser_1.parseCell)(schema, core_1.Cell.fromHex(boc));
expect(JSON.stringify(actual, parser_1.replacer)).toEqual(JSON.stringify(expected, parser_1.replacer));
});
});
});
describe('serialize', () => {
describe.each(Object.keys(tesdata_1.groupCorpusFlat))('serialize %s', (group) => {
it.each(tesdata_1.groupCorpusFlat[group])('serialize %s', (schema, data, expected) => {
const actual = (0, parser_1.encodeCell)(schema, data).toBoc().toString('hex');
expect(actual).toEqual(expected);
});
});
});
});