UNPKG

@lcap/nasl-parser

Version:

Take Nasl text to Nasl AST with the help of generalized parsing.

44 lines (34 loc) 944 B
import { Parser, Grammar } from "nearley"; import grammar from "../../ts/nasl"; const testArray1 =` logic fn1() { } logic testArray1() { let xxx = [1, 2, fn1(), { e => e }]; let yyy = [true]; let zzz = []; let aaa = [] : List<Integer>; let bbb = [1, 2, 3] : List<Integer>; let ccc = []; } ` const testArray2 =` logic fn2() { } logic testArray2() { let x = 1; let arr2 = [1, 2]; let arr3 = arr2[1][2][3]; let y = fn2(id=x, id=arr1[10], studentInfo=arr2[20][2]); } ` describe('Array syntax...', () => { test('Array syntax 1', async () => { const parser = new Parser(Grammar.fromCompiled(grammar)); parser.feed(testArray1); expect(parser.results.length).toBe(1); }); test('Array syntax 2', async () => { const parser = new Parser(Grammar.fromCompiled(grammar)); parser.feed(testArray2); expect(parser.results.length).toBe(1); }); });