Search in sources :

Example 46 with Issue

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());
}
Also used : Issue(org.eclipse.xtext.validation.Issue) IResourceValidator(org.eclipse.xtext.validation.IResourceValidator) XtextResource(org.eclipse.xtext.resource.XtextResource) Test(org.junit.Test)

Example 47 with Issue

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());
}
Also used : Issue(org.eclipse.xtext.validation.Issue) IResourceValidator(org.eclipse.xtext.validation.IResourceValidator) XtextResource(org.eclipse.xtext.resource.XtextResource) Test(org.junit.Test)

Example 48 with Issue

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());
}
Also used : Issue(org.eclipse.xtext.validation.Issue) IResourceValidator(org.eclipse.xtext.validation.IResourceValidator) XtextResource(org.eclipse.xtext.resource.XtextResource) Test(org.junit.Test)

Example 49 with Issue

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"));
}
Also used : Issue(org.eclipse.xtext.validation.Issue) Issues(org.eclipse.emf.mwe.core.issues.Issues) MWEDiagnostic(org.eclipse.emf.mwe.core.issues.MWEDiagnostic) Test(org.junit.Test)

Example 50 with Issue

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());
}
Also used : Assignment(org.eclipse.xtext.Assignment) Issue(org.eclipse.xtext.validation.Issue) IResourceValidator(org.eclipse.xtext.validation.IResourceValidator) XtextResource(org.eclipse.xtext.resource.XtextResource) Grammar(org.eclipse.xtext.Grammar) AbstractRule(org.eclipse.xtext.AbstractRule) RuleCall(org.eclipse.xtext.RuleCall) Test(org.junit.Test)

Aggregations

Issue (org.eclipse.xtext.validation.Issue)53 Test (org.junit.Test)27 XtextResource (org.eclipse.xtext.resource.XtextResource)22 IResourceValidator (org.eclipse.xtext.validation.IResourceValidator)16 Resource (org.eclipse.emf.ecore.resource.Resource)13 XtendFile (org.eclipse.xtend.core.xtend.XtendFile)10 URI (org.eclipse.emf.common.util.URI)9 XtextResourceSet (org.eclipse.xtext.resource.XtextResourceSet)9 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)7 StringInputStream (org.eclipse.xtext.util.StringInputStream)7 ArrayList (java.util.ArrayList)5 List (java.util.List)5 XtendClass (org.eclipse.xtend.core.xtend.XtendClass)5 Severity (org.eclipse.xtext.diagnostics.Severity)5 File (java.io.File)4 BasicDiagnostic (org.eclipse.emf.common.util.BasicDiagnostic)4 Diagnostic (org.eclipse.emf.ecore.resource.Resource.Diagnostic)4 ExceptionDiagnostic (org.eclipse.xtext.diagnostics.ExceptionDiagnostic)4 IResourceServiceProvider (org.eclipse.xtext.resource.IResourceServiceProvider)4 IDiagnosticConverter (org.eclipse.xtext.validation.IDiagnosticConverter)4