use of org.eclipse.n4js.ide.tests.helper.server.xt.XtSetupParser.XtWorkspace in project n4js by eclipse.
the class XtFileDataParser method parse.
/**
* Parses the contents of the given file
*/
public static XtFileData parse(File xtFile) throws IOException {
String xtFileContent = Files.readString(xtFile.toPath());
String setupStr = getXtSetupString(xtFileContent);
XtSetupParseResult setupParseResult = XtSetupParser.parse(xtFile, setupStr, xtFileContent);
XtWorkspace workspace = setupParseResult.workspace;
if (workspace == null) {
File xtFileStripped = XtFileData.stripXtExtension(xtFile);
workspace = createDefaultWorkspace(xtFileStripped.getName(), xtFileContent, setupParseResult);
}
List<XtMethodData> startupMethodData = getDefaultStartupMethodData();
List<XtMethodData> teardownMethodData = getDefaultTeardownMethodData();
TreeSet<XtMethodData> testMethodData1 = new TreeSet<>();
TreeSet<XtMethodData> testMethodData2 = new TreeSet<>();
fillTestMethodData(xtFile.toString(), xtFileContent, testMethodData1, testMethodData2);
return new XtFileData(xtFile, xtFileContent, setupParseResult.runner, workspace, setupParseResult.enabledIssues, setupParseResult.disabledIssues, startupMethodData, testMethodData1, testMethodData2, teardownMethodData);
}
use of org.eclipse.n4js.ide.tests.helper.server.xt.XtSetupParser.XtWorkspace in project n4js by eclipse.
the class XtFileDataParser method createDefaultWorkspace.
static XtWorkspace createDefaultWorkspace(String fileName, String xtFileContent, XtSetupParseResult setupParseResult) {
String extension = fileName.substring(fileName.lastIndexOf(".") + 1);
String moduleName = fileName.substring(0, fileName.length() - 1 - extension.length());
Module xtFileModule = new Module(moduleName, extension);
xtFileModule.setContents(xtFileContent);
Folder srcFolder = new Folder(DEFAULT_SOURCE_FOLDER);
srcFolder.addModule(xtFileModule);
Project project = new Project(DEFAULT_PROJECT_NAME, VENDOR, VENDOR_NAME);
project.addSourceFolder(srcFolder);
project.setGenerateDts(setupParseResult.generateDts);
for (String otherSrcFileName : setupParseResult.files.keySet()) {
String otherExt = URIUtils.fileExtension(URIUtils.toFileUri(otherSrcFileName));
String otherContent = setupParseResult.files.get(otherSrcFileName);
String otherModuleName = otherSrcFileName.substring(0, otherSrcFileName.length() - otherExt.length() - 1);
Module otherModule = new Module(otherModuleName, otherExt);
otherModule.setContents(otherContent);
srcFolder.addModule(otherModule);
}
XtWorkspace workspace = new XtWorkspace();
workspace.addProject(project);
workspace.moduleNameOfXtFile = fileName;
return workspace;
}
Aggregations