use of org.eclipse.xtext.validation.Issue in project xtext-core by eclipse.
the class XtextValidationTest method testExplicitOverride04.
@Test
public void testExplicitOverride04() throws Exception {
IResourceValidator validator = get(IResourceValidator.class);
XtextResource resource = getResourceFromString("grammar org.foo.Bar with org.eclipse.xtext.common.Terminals\n" + "@Override\n" + "terminal ID: ('a'..'z'|'A'..'Z'|'_');");
List<Issue> issues = validator.validate(resource, CheckMode.FAST_ONLY, CancelIndicator.NullImpl);
assertEquals(issues.toString(), 0, issues.size());
}
use of org.eclipse.xtext.validation.Issue in project xtext-core by eclipse.
the class XtextValidationTest method testSupressedWarning_01.
@Test
public void testSupressedWarning_01() throws Exception {
XtextResource resource = getResourceFromString("grammar org.acme.Bar with org.eclipse.xtext.common.Terminals\n" + "generate metamodel 'myURI'\n" + "Model: child=Child;\n" + "/* SuppressWarnings[noInstantiation] */\n" + "Child: name=ID?;");
assertTrue(resource.getErrors().toString(), resource.getErrors().isEmpty());
assertTrue(resource.getWarnings().toString(), resource.getWarnings().isEmpty());
IResourceValidator validator = get(IResourceValidator.class);
List<Issue> issues = validator.validate(resource, CheckMode.FAST_ONLY, CancelIndicator.NullImpl);
assertTrue(issues.toString(), issues.isEmpty());
}
use of org.eclipse.xtext.validation.Issue in project xtext-core by eclipse.
the class XtextValidationTest method testMissingArgument.
@Test
public void testMissingArgument() throws Exception {
XtextResource resource = getResourceFromString("grammar com.acme.Bar with org.eclipse.xtext.common.Terminals\n" + "generate metamodel 'myURI'\n" + "Model: rule=Rule<First=true, Second=false>;\n" + "Rule<First, Missing, Second>: name=ID;");
IResourceValidator validator = get(IResourceValidator.class);
List<Issue> issues = validator.validate(resource, CheckMode.FAST_ONLY, CancelIndicator.NullImpl);
assertEquals(issues.toString(), 1, issues.size());
assertEquals("Missing argument for parameter Missing", issues.get(0).getMessage());
}
use of org.eclipse.xtext.validation.Issue in project xtext-core by eclipse.
the class ValidatorTest method testBugFix322645.
/**
* https://bugs.eclipse.org/bugs/show_bug.cgi?id=322645
*/
@Test
public void testBugFix322645() throws Exception {
Issues issues = issues();
Issue a = new Issue.IssueImpl();
Issue b = new Issue.IssueImpl();
issues.addError("foo", a);
issues.addWarning(null, a);
issues.addError(null, b);
MWEDiagnostic[] errors = issues.getErrors();
assertEquals(2, errors.length);
final Validator validator = new Validator();
final String string = validator.toString(issues);
assert (string.contains("foo"));
}
use of org.eclipse.xtext.validation.Issue in project xtext-core by eclipse.
the class XtextValidationTest method testRuleCalledSuper.
@Test
public void testRuleCalledSuper() throws Exception {
XtextResource resource = getResourceFromString("grammar com.acme.Bar with org.eclipse.xtext.common.Terminals\n" + "generate metamodel 'myURI'\n" + "Model: super=super;\n" + "super: name=ID;");
IResourceValidator validator = get(IResourceValidator.class);
List<Issue> issues = validator.validate(resource, CheckMode.FAST_ONLY, CancelIndicator.NullImpl);
assertEquals(issues.toString(), 1, issues.size());
assertEquals("Discouraged rule name 'super'", issues.get(0).getMessage());
Grammar grammar = (Grammar) resource.getContents().get(0);
AbstractRule model = grammar.getRules().get(0);
Assignment assignment = (Assignment) model.getAlternatives();
RuleCall ruleCall = (RuleCall) assignment.getTerminal();
assertSame(grammar.getRules().get(1), ruleCall.getRule());
}
Aggregations