const Parser = require("web-tree-sitter"); import "reflect-metadata"; import { TestLanguageService } from "../../TestLanguageService"; import { TypeScriptStructurer } from "../../../code-context/typescript/TypeScriptStructurer"; describe('JavaStructure', () => { it('should convert a simple file to CodeFile', async () => { const typeScriptClass = ` interface LabeledValue { label: string; } `; await Parser.init(); let languageService = new TestLanguageService(new Parser()); const structurer = new TypeScriptStructurer(); await structurer.init(languageService); const codeFile = await structurer.parseFile(typeScriptClass, ""); expect(codeFile).toEqual({ "name": "", "filepath": "", "language": "typescript", "functions": [], "path": "", "package": "", "imports": [], "classes": [{ "type": "interface", "canonicalName": "", "constant": [], "extends": [], "methods": [], "name": "LabeledValue", "package": "", "implements": [], "start": { "row": 1, "column": 0 }, "end": { "row": 3, "column": 1 }, "fields": [{ "name": "label", "start": { "row": 2, "column": 2 }, "end": { "row": 2, "column": 7 }, "type": ": string" }] }] }); }); });