use of org.eclipse.xtext.validation.Issue in project xtext-eclipse by eclipse.
the class AnnotationWithQuickFixesHoverTest method setUp.
@Override
public void setUp() throws Exception {
super.setUp();
modelAsText = "stuff mystuff stuff yourstuff refs _mystuff stuff hisstuff refs _yourstuff";
IFile file = IResourcesSetupUtil.createFile("test/test.testlanguage", modelAsText);
editor = openEditor(file);
document = editor.getDocument();
hover = TestsActivator.getInstance().getInjector(getEditorId()).getInstance(AnnotationWithQuickFixesHover.class);
hover.setSourceViewer(editor.getInternalSourceViewer());
List<Issue> issues = document.readOnly(new IUnitOfWork<List<Issue>, XtextResource>() {
@Override
public List<Issue> exec(XtextResource state) throws Exception {
return state.getResourceServiceProvider().getResourceValidator().validate(state, CheckMode.ALL, null);
}
});
assertEquals(2, issues.size());
MarkerCreator markerCreator = TestsActivator.getInstance().getInjector(getEditorId()).getInstance(MarkerCreator.class);
for (Issue issue : issues) {
markerCreator.createMarker(issue, file, MarkerTypes.forCheckType(issue.getType()));
}
if (Display.getCurrent().getActiveShell() != editor.getShell()) {
System.out.println("Editor shell is not active. Active shell is: " + Display.getCurrent().getActiveShell());
getWorkbenchWindow().getShell().forceActive();
editor.getInternalSourceViewer().getTextWidget().forceFocus();
}
}
use of org.eclipse.xtext.validation.Issue in project xtext-eclipse by eclipse.
the class ProblemHoverTest method setUp.
@Override
public void setUp() throws Exception {
super.setUp();
modelAsText = "stuff mystuff\nstuff yourstuff refs _mystuff stuff hisstuff refs _yourstuff// Comment";
IFile file = IResourcesSetupUtil.createFile("test/test.testlanguage", modelAsText);
editor = openEditor(file);
document = editor.getDocument();
hover = TestsActivator.getInstance().getInjector(getEditorId()).getInstance(ProblemAnnotationHover.class);
hover.setSourceViewer(editor.getInternalSourceViewer());
List<Issue> issues = document.readOnly(new IUnitOfWork<List<Issue>, XtextResource>() {
@Override
public List<Issue> exec(XtextResource state) throws Exception {
return state.getResourceServiceProvider().getResourceValidator().validate(state, CheckMode.ALL, null);
}
});
MarkerCreator markerCreator = TestsActivator.getInstance().getInjector(getEditorId()).getInstance(MarkerCreator.class);
for (Issue issue : issues) {
markerCreator.createMarker(issue, file, MarkerTypes.forCheckType(issue.getType()));
}
}
use of org.eclipse.xtext.validation.Issue in project xtext-eclipse by eclipse.
the class LinkingErrorTest method testSemanticIssueResolution.
@Test
public void testSemanticIssueResolution() throws Exception {
IFile dslFile = dslFile(MODEL_WITH_LINKING_ERROR);
XtextEditor xtextEditor = openEditor(dslFile);
URI uriToProblem = xtextEditor.getDocument().readOnly(new IUnitOfWork<URI, XtextResource>() {
@Override
public URI exec(XtextResource state) throws Exception {
Main main = (Main) state.getContents().get(0);
Element element = main.getElements().get(1);
return EcoreUtil.getURI(element);
}
});
Issue.IssueImpl issue = new Issue.IssueImpl();
issue.setUriToProblem(uriToProblem);
issue.setCode(QuickfixCrossrefTestLanguageQuickfixProvider.SEMANTIC_FIX_ID);
List<IssueResolution> resolutions = issueResolutionProvider.getResolutions(issue);
assertEquals(1, resolutions.size());
IssueResolution issueResolution = resolutions.get(0);
issueResolution.apply();
xtextEditor.doSave(null);
List<Issue> issues = getAllValidationIssues(xtextEditor.getDocument());
assertTrue(issues.isEmpty());
}
use of org.eclipse.xtext.validation.Issue in project xtext-eclipse by eclipse.
the class LinkingErrorTest method testQuickfixTurnaround.
@Test
public void testQuickfixTurnaround() throws Exception {
IFile dslFile = dslFile(MODEL_WITH_LINKING_ERROR);
XtextEditor xtextEditor = openEditor(dslFile);
IXtextDocument document = xtextEditor.getDocument();
List<Issue> issues = getAllValidationIssues(document);
assertFalse(issues.isEmpty());
Issue issue = issues.get(0);
assertNotNull(issue);
List<IssueResolution> resolutions = issueResolutionProvider.getResolutions(issue);
assertEquals(1, resolutions.size());
IssueResolution resolution = resolutions.get(0);
assertEquals("Change to 'Bar'", resolution.getLabel());
resolution.apply();
issues = getAllValidationIssues(document);
assertTrue(issues.isEmpty());
}
use of org.eclipse.xtext.validation.Issue in project xtext-eclipse by eclipse.
the class LinkingErrorTest method testBug361509.
@Test
public void testBug361509() throws Exception {
IFile dslFile = dslFile(MODEL_WITH_LINKING_ERROR_361509);
XtextEditor xtextEditor = openEditor(dslFile);
IXtextDocument document = xtextEditor.getDocument();
List<Issue> issues = getAllValidationIssues(document);
assertFalse(issues.isEmpty());
Issue issue = issues.get(0);
assertNotNull(issue);
List<IssueResolution> resolutions = issueResolutionProvider.getResolutions(issue);
assertEquals(1, resolutions.size());
IssueResolution resolution = resolutions.get(0);
assertEquals("Change to 'ref'", resolution.getLabel());
resolution.apply();
issues = getAllValidationIssues(document);
assertTrue(issues.isEmpty());
assertEquals(MODEL_WITH_LINKING_ERROR_361509.replace("raf", "^ref"), document.get());
}
Aggregations