Search in sources :

Example 6 with DefaultFoldingRegionProvider

use of org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider in project xtext-eclipse by eclipse.

the class DefaultFoldingRegionProviderTest method testSignificantPartOfModel_02.

@Test
public void testSignificantPartOfModel_02() throws Exception {
    IFile iFile = createFile("foo/bar.foldingtestlanguage", "\n" + "element\n" + "  foo\n" + "end\n");
    IXtextDocument document = openFileAndReturnDocument(iFile);
    DefaultFoldingRegionProvider reg = createFoldingRegionProvider();
    Collection<FoldedPosition> regions = reg.getFoldingRegions(document);
    assertEquals(1, regions.size());
    FoldedPosition position = Iterables.getOnlyElement(regions);
    assertEquals("\n".length(), position.getOffset());
    assertEquals("element\n  foo\nend\n".length(), position.getLength());
    assertEquals("element\n  ".length(), position.computeCaptionOffset(document));
    IRegion[] projectionRegions = position.computeProjectionRegions(document);
    assertEquals(2, projectionRegions.length);
    assertEquals("\n".length(), projectionRegions[0].getOffset());
    assertEquals("element\n".length(), projectionRegions[0].getLength());
    assertEquals("\nelement\n  foo\n".length(), projectionRegions[1].getOffset());
    assertEquals("end\n".length(), projectionRegions[1].getLength());
}
Also used : IFile(org.eclipse.core.resources.IFile) DefaultFoldingRegionProvider(org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider) FoldedPosition(org.eclipse.xtext.ui.editor.folding.FoldedPosition) IRegion(org.eclipse.jface.text.IRegion) IXtextDocument(org.eclipse.xtext.ui.editor.model.IXtextDocument) Test(org.junit.Test) AbstractEditorTest(org.eclipse.xtext.ui.testing.AbstractEditorTest)

Example 7 with DefaultFoldingRegionProvider

use of org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider in project xtext-eclipse by eclipse.

the class DefaultFoldingRegionProviderTest method testSignificantPartOfModel_03.

@Test
public void testSignificantPartOfModel_03() throws Exception {
    IFile iFile = createFile("foo/bar.foldingtestlanguage", "\n" + "element\n" + "  foo end\n");
    IXtextDocument document = openFileAndReturnDocument(iFile);
    DefaultFoldingRegionProvider reg = createFoldingRegionProvider();
    Collection<FoldedPosition> regions = reg.getFoldingRegions(document);
    assertEquals(1, regions.size());
    FoldedPosition position = Iterables.getOnlyElement(regions);
    assertEquals("\n".length(), position.getOffset());
    assertEquals("element\n  foo end\n".length(), position.getLength());
    assertEquals("element\n  ".length(), position.computeCaptionOffset(document));
    IRegion[] projectionRegions = position.computeProjectionRegions(document);
    assertEquals(1, projectionRegions.length);
    assertEquals("\n".length(), projectionRegions[0].getOffset());
    assertEquals("element\n".length(), projectionRegions[0].getLength());
}
Also used : IFile(org.eclipse.core.resources.IFile) DefaultFoldingRegionProvider(org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider) FoldedPosition(org.eclipse.xtext.ui.editor.folding.FoldedPosition) IRegion(org.eclipse.jface.text.IRegion) IXtextDocument(org.eclipse.xtext.ui.editor.model.IXtextDocument) Test(org.junit.Test) AbstractEditorTest(org.eclipse.xtext.ui.testing.AbstractEditorTest)

Example 8 with DefaultFoldingRegionProvider

use of org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider in project xtext-eclipse by eclipse.

the class DefaultFoldingRegionProviderTest method testSignificantPartOfModel_01.

@Test
public void testSignificantPartOfModel_01() throws Exception {
    IFile iFile = createFile("foo/bar.foldingtestlanguage", "\n" + "element foo\n" + "end\n");
    IXtextDocument document = openFileAndReturnDocument(iFile);
    DefaultFoldingRegionProvider reg = createFoldingRegionProvider();
    Collection<FoldedPosition> regions = reg.getFoldingRegions(document);
    assertEquals(1, regions.size());
    FoldedPosition position = Iterables.getOnlyElement(regions);
    assertEquals("\n".length(), position.getOffset());
    assertEquals("element foo\nend\n".length(), position.getLength());
    assertEquals("element ".length(), position.computeCaptionOffset(document));
    IRegion[] projectionRegions = position.computeProjectionRegions(document);
    assertEquals(1, projectionRegions.length);
    assertEquals("\nelement foo\n".length(), projectionRegions[0].getOffset());
    assertEquals("end\n".length(), projectionRegions[0].getLength());
}
Also used : IFile(org.eclipse.core.resources.IFile) DefaultFoldingRegionProvider(org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider) FoldedPosition(org.eclipse.xtext.ui.editor.folding.FoldedPosition) IRegion(org.eclipse.jface.text.IRegion) IXtextDocument(org.eclipse.xtext.ui.editor.model.IXtextDocument) Test(org.junit.Test) AbstractEditorTest(org.eclipse.xtext.ui.testing.AbstractEditorTest)

Example 9 with DefaultFoldingRegionProvider

use of org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider in project xtext-eclipse by eclipse.

the class DefaultFoldingRegionProviderTest method testSignificantPartOfMlComment_03.

@Test
public void testSignificantPartOfMlComment_03() throws Exception {
    IFile iFile = createFile("foo/bar.foldingtestlanguage", "\n/**\n *\n * foo\n *\n */\n element foo end");
    IXtextDocument document = openFileAndReturnDocument(iFile);
    DefaultFoldingRegionProvider reg = createFoldingRegionProvider();
    Collection<FoldedPosition> regions = reg.getFoldingRegions(document);
    assertEquals(1, regions.size());
    FoldedPosition position = Iterables.getOnlyElement(regions);
    assertEquals(1, position.getOffset());
    assertEquals("/**\n *\n * foo\n *\n */\n".length(), position.getLength());
    assertEquals("/**\n *\n * ".length(), position.computeCaptionOffset(document));
    IRegion[] projectionRegions = position.computeProjectionRegions(document);
    assertEquals(2, projectionRegions.length);
    assertEquals("\n".length(), projectionRegions[0].getOffset());
    assertEquals("/**\n *\n".length(), projectionRegions[0].getLength());
    assertEquals("\n/**\n *\n * foo\n".length(), projectionRegions[1].getOffset());
    assertEquals(" *\n */\n".length(), projectionRegions[1].getLength());
}
Also used : IFile(org.eclipse.core.resources.IFile) DefaultFoldingRegionProvider(org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider) FoldedPosition(org.eclipse.xtext.ui.editor.folding.FoldedPosition) IRegion(org.eclipse.jface.text.IRegion) IXtextDocument(org.eclipse.xtext.ui.editor.model.IXtextDocument) Test(org.junit.Test) AbstractEditorTest(org.eclipse.xtext.ui.testing.AbstractEditorTest)

Example 10 with DefaultFoldingRegionProvider

use of org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider in project xtext-eclipse by eclipse.

the class DefaultFoldingRegionProviderTest method testIsHandled.

@SuppressWarnings("deprecation")
@Test
public void testIsHandled() throws Exception {
    IFile iFile = createFile("foo/bar.foldingtestlanguage", "element foo \n" + "element bar \n" + "end \n" + "end");
    IXtextDocument document = openFileAndReturnDocument(iFile);
    DefaultFoldingRegionProvider reg = new DefaultFoldingRegionProvider(new DefaultLocationInFileProvider()) {

        @Override
        protected boolean isHandled(EObject object) {
            if (object instanceof Element) {
                return !"foo".equals(((Element) object).getName());
            }
            return super.isHandled(object);
        }
    };
    Collection<FoldedPosition> regions = reg.getFoldingRegions(document);
    assertEquals(1, regions.size());
    assertEquals("element foo \n".length(), regions.iterator().next().getOffset());
}
Also used : DefaultLocationInFileProvider(org.eclipse.xtext.resource.DefaultLocationInFileProvider) IFile(org.eclipse.core.resources.IFile) DefaultFoldingRegionProvider(org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider) EObject(org.eclipse.emf.ecore.EObject) Element(org.eclipse.xtext.ui.tests.folding.Element) FoldedPosition(org.eclipse.xtext.ui.editor.folding.FoldedPosition) IXtextDocument(org.eclipse.xtext.ui.editor.model.IXtextDocument) Test(org.junit.Test) AbstractEditorTest(org.eclipse.xtext.ui.testing.AbstractEditorTest)

Aggregations

IFile (org.eclipse.core.resources.IFile)18 DefaultFoldingRegionProvider (org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider)18 FoldedPosition (org.eclipse.xtext.ui.editor.folding.FoldedPosition)18 IXtextDocument (org.eclipse.xtext.ui.editor.model.IXtextDocument)18 AbstractEditorTest (org.eclipse.xtext.ui.testing.AbstractEditorTest)18 Test (org.junit.Test)18 IRegion (org.eclipse.jface.text.IRegion)7 EObject (org.eclipse.emf.ecore.EObject)2 DefaultLocationInFileProvider (org.eclipse.xtext.resource.DefaultLocationInFileProvider)2 Element (org.eclipse.xtext.ui.tests.folding.Element)2