Search in sources :

Example 11 with ISemanticRegionsFinder

use of org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder in project xtext-core by eclipse.

the class SemanticRegionFinderTest method regionForKeywordPairs.

@Test
public void regionForKeywordPairs() {
    @Extension final RegionAccessTestLanguageGrammarAccess.ParenthesizedElements rule = this._regionAccessTestLanguageGrammarAccess.getParenthesizedAccess();
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("5 (foo)");
    final Expression expr = this.<Expression>parseAs(_builder, Expression.class);
    final ISemanticRegionsFinder finder = this.toAccess(expr).regionForEObject(expr).getRegionFor();
    final String actual1 = this.pairsToString(finder.keywordPairs("(", ")"));
    final String actual2 = this.pairsToString(finder.keywordPairs(rule.getLeftParenthesisKeyword_0(), rule.getRightParenthesisKeyword_2()));
    final String expected = "(foo)";
    Assert.assertEquals(expected, actual1);
    Assert.assertEquals(expected, actual2);
}
Also used : Extension(org.eclipse.xtext.xbase.lib.Extension) Expression(org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Expression) StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) RegionAccessTestLanguageGrammarAccess(org.eclipse.xtext.formatting2.regionaccess.internal.services.RegionAccessTestLanguageGrammarAccess) ISemanticRegionsFinder(org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder) Test(org.junit.Test)

Example 12 with ISemanticRegionsFinder

use of org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder in project xtext-core by eclipse.

the class SemanticRegionFinderTest method regionForRuleCallToCrossReference.

@Test
public void regionForRuleCallToCrossReference() {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("6 (ref foo) action (foo) end");
    final AssignedAction mixed = this.<AssignedAction>parseAs(_builder, AssignedAction.class);
    final ISemanticRegionsFinder finder = this.toAccess(mixed).regionForEObject(mixed.getChild()).getRegionFor();
    final ISemanticRegion actual = finder.ruleCallTo(this._regionAccessTestLanguageGrammarAccess.getIDRule());
    final List<ISemanticRegion> actuals = finder.ruleCallsTo(this._regionAccessTestLanguageGrammarAccess.getIDRule());
    this.assertEquals("foo", actual, actuals);
}
Also used : AssignedAction(org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.AssignedAction) StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) ISemanticRegion(org.eclipse.xtext.formatting2.regionaccess.ISemanticRegion) ISemanticRegionsFinder(org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder) Test(org.junit.Test)

Example 13 with ISemanticRegionsFinder

use of org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder in project xtext-core by eclipse.

the class SemanticRegionFinderTest method regionForRuleCallToEObjectParserRule.

@Test
public void regionForRuleCallToEObjectParserRule() {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("6 (child (foo))");
    final Mixed mixed = this.<Mixed>parseAs(_builder, Mixed.class);
    final ISemanticRegionsFinder finder = this.toAccess(mixed).regionForEObject(mixed).getRegionFor();
    try {
        finder.ruleCallTo(this._regionAccessTestLanguageGrammarAccess.getMixedRule());
        Assert.fail();
    } catch (final Throwable _t) {
        if (_t instanceof IllegalStateException) {
        } else {
            throw Exceptions.sneakyThrow(_t);
        }
    }
    try {
        finder.ruleCallsTo(this._regionAccessTestLanguageGrammarAccess.getMixedRule());
        Assert.fail();
    } catch (final Throwable _t_1) {
        if (_t_1 instanceof IllegalStateException) {
        } else {
            throw Exceptions.sneakyThrow(_t_1);
        }
    }
}
Also used : Mixed(org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Mixed) StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) ISemanticRegionsFinder(org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder) Test(org.junit.Test)

Example 14 with ISemanticRegionsFinder

use of org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder in project xtext-core by eclipse.

the class SemanticRegionFinderTest method regionForFeatureContainmentReference.

@Test
public void regionForFeatureContainmentReference() {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("6 (foo) action");
    final AssignedAction mixed = this.<AssignedAction>parseAs(_builder, AssignedAction.class);
    final ISemanticRegionsFinder finder = this.toAccess(mixed).regionForEObject(mixed).getRegionFor();
    try {
        finder.feature(RegionaccesstestlanguagePackage.Literals.ASSIGNED_ACTION__CHILD);
        Assert.fail();
    } catch (final Throwable _t) {
        if (_t instanceof IllegalStateException) {
        } else {
            throw Exceptions.sneakyThrow(_t);
        }
    }
    try {
        finder.features(RegionaccesstestlanguagePackage.Literals.ASSIGNED_ACTION__CHILD);
        Assert.fail();
    } catch (final Throwable _t_1) {
        if (_t_1 instanceof IllegalStateException) {
        } else {
            throw Exceptions.sneakyThrow(_t_1);
        }
    }
}
Also used : AssignedAction(org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.AssignedAction) StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) ISemanticRegionsFinder(org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder) Test(org.junit.Test)

Example 15 with ISemanticRegionsFinder

use of org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder in project xtext-core by eclipse.

the class SemanticRegionFinderTest method regionForRuleCallUnassignedTerminal.

@Test
public void regionForRuleCallUnassignedTerminal() {
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("6 (unassigned foo)");
    final Mixed mixed = this.<Mixed>parseAs(_builder, Mixed.class);
    final ISemanticRegionsFinder finder = this.toAccess(mixed).regionForEObject(mixed).getRegionFor();
    final ISemanticRegion actual = finder.ruleCall(this._regionAccessTestLanguageGrammarAccess.getMixedAccess().getIDTerminalRuleCall_1_1_0());
    final List<ISemanticRegion> actuals = finder.ruleCalls(this._regionAccessTestLanguageGrammarAccess.getMixedAccess().getIDTerminalRuleCall_1_1_0());
    this.assertEquals("foo", actual, actuals);
}
Also used : Mixed(org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Mixed) StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) ISemanticRegion(org.eclipse.xtext.formatting2.regionaccess.ISemanticRegion) ISemanticRegionsFinder(org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder) Test(org.junit.Test)

Aggregations

ISemanticRegionsFinder (org.eclipse.xtext.formatting2.regionaccess.ISemanticRegionsFinder)22 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)20 Test (org.junit.Test)20 ISemanticRegion (org.eclipse.xtext.formatting2.regionaccess.ISemanticRegion)17 Mixed (org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Mixed)14 AssignedAction (org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.AssignedAction)4 Expression (org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Expression)2 RegionAccessTestLanguageGrammarAccess (org.eclipse.xtext.formatting2.regionaccess.internal.services.RegionAccessTestLanguageGrammarAccess)2 Extension (org.eclipse.xtext.xbase.lib.Extension)2 URI (org.eclipse.emf.common.util.URI)1 EObject (org.eclipse.emf.ecore.EObject)1 IEObjectRegion (org.eclipse.xtext.formatting2.regionaccess.IEObjectRegion)1 XtextResource (org.eclipse.xtext.resource.XtextResource)1