Search in sources :

Example 6 with Simple

use of org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Simple in project xtext-core by eclipse.

the class RegionAccessDiffTest method testSingleSemanticToken.

@Test
public void testSingleSemanticToken() throws Exception {
    String model = "1 foo\n";
    ITextRegionAccess access = regionAccessTestHelper.toTextRegionAccess(model);
    ITextRegionAccess modifiedAccess = regionAccessTestHelper.modify(access, (ITextRegionDiffBuilder it) -> {
        ITextRegionExtensions ext = access.getExtensions();
        EObject root = access.regionForRootEObject().getSemanticElement();
        ISemanticRegion foo = ext.allRegionsFor(root).feature(RegionaccesstestlanguagePackage.Literals.SIMPLE__NAME);
        it.replace(foo, "baaar");
    });
    String expectation = "0 0   H\n" + "      B Simple'foo' Root\n" + "0 1    S \"1\"        Simple:'1'\n" + "1 1    H \" \"        Whitespace:TerminalRule'WS'\n" + "2 5 1  S \"baaar\"    Simple:name=ID\n" + "      E Simple'foo' Root\n" + "7 0   H\n" + "------------ diff 1 ------------\n" + "2 3 S \"foo\"      Simple:name=ID\n";
    regionAccessTestHelper.assertRegions(modifiedAccess, expectation);
}
Also used : ITextRegionAccess(org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess) EObject(org.eclipse.emf.ecore.EObject) ITextRegionDiffBuilder(org.eclipse.xtext.formatting2.regionaccess.ITextRegionDiffBuilder) ISemanticRegion(org.eclipse.xtext.formatting2.regionaccess.ISemanticRegion) ITextRegionExtensions(org.eclipse.xtext.formatting2.regionaccess.ITextRegionExtensions) Test(org.junit.Test)

Example 7 with Simple

use of org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Simple in project xtext-core by eclipse.

the class RegionAccessBuilderTest method testMultiWhitespace2.

@Test
public void testMultiWhitespace2() throws Exception {
    String model = "1\n" + "/**/\n" + "foo\n".trim();
    String expectation = " 0 0 H\n" + "     B Simple'foo' Root\n" + " 0 1  S \"1\"        Simple:'1'\n" + " 1    H \"\\n" + "\"       Whitespace:TerminalRule'WS'\n" + "        \"/**/\"     Comment:TerminalRule'ML_COMMENT' Association:NEXT\n" + "   6    \"\\n" + "\"       Whitespace:TerminalRule'WS'\n" + " 7 3  S \"foo\"      Simple:name=ID\n" + "     E Simple'foo' Root\n" + "10 0 H\n";
    assertRegions(model, expectation);
}
Also used : TextRegionAccessToString(org.eclipse.xtext.formatting2.debug.TextRegionAccessToString) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)6 TextRegionAccessToString (org.eclipse.xtext.formatting2.debug.TextRegionAccessToString)3 ITextRegionAccess (org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess)2 ITextRegionDiffBuilder (org.eclipse.xtext.formatting2.regionaccess.ITextRegionDiffBuilder)2 ITextRegionExtensions (org.eclipse.xtext.formatting2.regionaccess.ITextRegionExtensions)2 EObject (org.eclipse.emf.ecore.EObject)1 EPackage (org.eclipse.emf.ecore.EPackage)1 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)1 Action (org.eclipse.xtext.Action)1 Parameter (org.eclipse.xtext.Parameter)1 ParserRule (org.eclipse.xtext.ParserRule)1 IFormattableDocument (org.eclipse.xtext.formatting2.IFormattableDocument)1 IHiddenRegionFormatter (org.eclipse.xtext.formatting2.IHiddenRegionFormatter)1 GenericFormatter (org.eclipse.xtext.formatting2.internal.GenericFormatter)1 GenericFormatterTestRequest (org.eclipse.xtext.formatting2.internal.GenericFormatterTestRequest)1 IDList (org.eclipse.xtext.formatting2.internal.formattertestlanguage.IDList)1 ISemanticRegion (org.eclipse.xtext.formatting2.regionaccess.ISemanticRegion)1 Add (org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Add)1 AssignedAction (org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.AssignedAction)1 Delegate (org.eclipse.xtext.formatting2.regionaccess.internal.regionaccesstestlanguage.Delegate)1