UNPKG

@specs-feup/lara

Version:

A js port of the popular framework for building source-to-source compilers

42 lines (34 loc) 1.22 kB
import Weaver from "@specs-feup/lara/api/weaver/Weaver.js"; import JavaTypes from "@specs-feup/lara/api/lara/util/JavaTypes.js"; /** * Registers the source code that will be used by the weaver for the purpose of this test suite. * * @param code - String containing the source code. */ export function registerSourceCode(code: string): void { registerSourceCodes({ "dummyFile.cpp": code }); } /** * Registers the source code that will be used by the weaver for the purpose of this test suite. * * @param codes - Record that maps file names to the corresponding source code. */ export function registerSourceCodes(codes: Record<string, string>): void { beforeEach(() => { const javaWeaver = Weaver.getWeaverEngine(); const javaDatastore = javaWeaver.getData().get(); javaWeaver.run(Object.keys(codes), Object.values(codes), javaDatastore); }); afterEach(() => { Weaver.getWeaverEngine().end(); }); afterAll(() => { const javaWeaver = Weaver.getWeaverEngine(); const javaDatastore = javaWeaver.getData().get(); javaDatastore.set( JavaTypes.LaraiKeys.WORKSPACE_FOLDER, JavaTypes.FileList.newInstance() ); javaWeaver.run(javaDatastore); }); }