@ton-community/tlb-parser
Version:
Parse TLB syntax into TypeScript objects
40 lines (31 loc) • 854 B
text/typescript
import fs from 'fs'
import path from 'path'
import { ast } from '../../src'
import { Program } from '../../src/ast/nodes'
import { loadYamlCases } from '../loaders/yaml'
const fixturesDir = path.resolve(__dirname, '..', 'fixtures')
describe('ast generation', () => {
test('block.tlb can be parsed', () => {
expect.hasAssertions()
const input = fs.readFileSync(
path.resolve(fixturesDir, 'tlb', 'block.tlb'),
'utf-8',
)
const tree = ast(input)
expect(tree).toBeInstanceOf(Program)
})
for (
let caseDef of loadYamlCases(
fixturesDir,
'ast',
'examples.yml',
)
) {
test(`Generated ast example: ${caseDef.case}`, () => {
expect.hasAssertions()
const tree = ast(caseDef.code)
expect(tree).toBeInstanceOf(Program)
expect(tree).toMatchSnapshot()
})
}
})