diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/CustomFoldingRegionTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/CustomFoldingRegionTest.java index 5ca5fdaff2e..4c14eec931f 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/CustomFoldingRegionTest.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/CustomFoldingRegionTest.java @@ -37,7 +37,6 @@ import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.Position; import org.eclipse.jface.text.source.Annotation; import org.eclipse.jface.text.source.projection.ProjectionAnnotation; @@ -101,7 +100,7 @@ public void testNoCustomFoldingRegions() throws Exception { package org.example.test; public class Test { } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); assertEquals(0, projectionRanges.size()); } @@ -118,7 +117,7 @@ class Test { // endregion } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 1, 3); // region 1 FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 5, 7); // region 2 } @@ -136,7 +135,7 @@ class Test { // endregion inner } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); assertEquals(3, projectionRanges.size()); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 2, 8);//class Test FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 7);//outer @@ -157,7 +156,7 @@ class Test { // endregion inner } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 3);//outer } @@ -173,7 +172,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 5); // region 1 } @@ -184,7 +183,7 @@ public void testNoCustomFoldingRegionsSingleImport() throws Exception { import java.util.List; """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); assertEquals(0, projectionRanges.size()); } @@ -197,7 +196,7 @@ public void testCustomFoldingRegionAroundSingleImport() throws Exception { import java.util.List; // endregion """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 2, 4); // imports } @@ -225,7 +224,7 @@ class D { } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 6, 15); // region 1 } @@ -247,7 +246,7 @@ void a(){ } // endregion outside class """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); assertEquals(5, projectionRanges.size()); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 2, 12);//class Test FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 1, 13);//outside class @@ -269,7 +268,7 @@ void a(){ } // endregion outside class """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 4);//region inside method } @@ -289,7 +288,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); if (extendedFoldingActive) { assertEquals(5, projectionRanges.size()); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 2, 11);//class SpecialCommentTypes @@ -323,7 +322,7 @@ class Inner{ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 4, 7);//region 1 } @@ -348,7 +347,7 @@ class B { } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 3);// region outside } @@ -367,7 +366,7 @@ void b(){ // endregion } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 9);//region 1 } @@ -387,7 +386,7 @@ class Test { // endregion should be ignored } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 4); // this is the region } @@ -403,7 +402,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 5);//region 1 } @@ -419,7 +418,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 3); } @@ -435,7 +434,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 3); } @@ -451,7 +450,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 5);//region 1 } @@ -468,7 +467,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 4, 6);//region 1 } @@ -485,7 +484,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 4, 6);//region 1 } @@ -501,7 +500,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 4);//region 1 } @@ -515,7 +514,7 @@ void a(){/* region 1*/} /* endregion */ } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 2); } @@ -529,7 +528,7 @@ class Test { void a(){/* endregion*/} } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 2); } @@ -549,7 +548,7 @@ void a(){ } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 4);//region 1 FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 5, 6);//region 1 } @@ -574,7 +573,7 @@ void a() { } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 3);// region 1 FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 6);// region 2 FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(projectionRanges, str, 9);// region 3 @@ -591,7 +590,7 @@ class Test { /* endregion */ void test(){} } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 4); // region 1 } @@ -611,7 +610,7 @@ class Test { } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 4);//first start FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 5, 6);//second start } @@ -641,7 +640,7 @@ void test() { // ---- } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 7);//variables FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 8, 13);//methods } @@ -675,7 +674,7 @@ void otherMethod() { } } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 6, 9);//inner FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 10, 12);//inner 2 FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 15, 19);//outer 2 @@ -699,7 +698,7 @@ class Test { } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 3, 8);//no end marker FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 5, 6);//first FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 7, 8);//second @@ -721,7 +720,7 @@ public void testStartMarkerStartsWithEndMarkerWithoutTopLevelType() throws Excep // regend second """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionWithOffsetAndLength(projectionRanges, 2, 7, //no end marker FoldingTestUtils.findLineStartIndex(str, 2), str.length() - 1); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 4, 5);//first @@ -751,7 +750,7 @@ class Test { // reg end } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 6, 7);//first FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 10, 11);//second FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 12, 13);//third @@ -767,7 +766,7 @@ public void testSameStartAndEndMarkerTerminatesAtEOF() throws Exception { // reg my region // some comment without line break"""; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 0, 2); } @@ -782,7 +781,7 @@ public void testSameStartAndEndMarkerTerminatesAtEOFEmptyLine() throws Exception """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 0, 3); } @@ -809,7 +808,7 @@ public String test(boolean b) { } """; - List projectionRanges= getProjectionRangesOfFile(str); + List projectionRanges= getProjectionRangesOfFile(str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(projectionRanges, str, 4, 12);//custom region } @@ -838,7 +837,7 @@ void someMethod() { try { ProjectionAnnotationModel model= editor.getAdapter(ProjectionAnnotationModel.class); - List initialRegions= FoldingTestUtils.extractRegions(model); + List initialRegions= FoldingTestUtils.extractRegions(model); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(initialRegions, code, 2, 15);//outer FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(initialRegions, code, 5, 12);//middle @@ -856,8 +855,8 @@ void someMethod() { // check that regions are in the same order as before and not modified in another way for(int i= 0; i < positions.size(); i++) { - assertEquals(initialRegions.get(i).getOffset(), positions.get(i).getOffset()); - assertEquals(initialRegions.get(i).getLength() + additionalText.length(), positions.get(i).getLength()); + assertEquals(initialRegions.get(i).offset(), positions.get(i).getOffset()); + assertEquals(initialRegions.get(i).length() + additionalText.length(), positions.get(i).getLength()); } } finally { editor.close(false); @@ -946,8 +945,9 @@ private List getFoldingPositionsFromModel(ProjectionAnnotationModel mo return positions; } - private List getProjectionRangesOfFile(String str) throws Exception { + private List getProjectionRangesOfFile(String str) throws Exception { return FoldingTestUtils.getProjectionRangesOfPackage(fPackageFragment, str); } } + diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingIncludeClosingBracketTests.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingIncludeClosingBracketTests.java index 8f136e622b2..f496455e816 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingIncludeClosingBracketTests.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingIncludeClosingBracketTests.java @@ -27,7 +27,6 @@ import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.IRegion; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IPackageFragment; @@ -95,7 +94,7 @@ void x() { }; } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 5); // if FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 6, 8); // for FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 9, 11); // while @@ -119,7 +118,7 @@ void x() { } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 11); // x() FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 4, 6); // s FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 8, 9); // s2 @@ -148,10 +147,11 @@ void someMethod() { @interface SomeAnnotation {} @interface OtherAnnotation {} """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 3); // A FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 4, 6); // B FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 8, 9); // C FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 11, 14); // someMethod } } + diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingTest.java index b8e42b4fe92..f045e0fe186 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingTest.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingTest.java @@ -31,7 +31,6 @@ import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.IRegion; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IPackageFragment; @@ -88,7 +87,7 @@ public void testCompilationUnitFolding() throws Exception { class A { //here should be an annotation } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 1, 2); // class } @@ -118,7 +117,7 @@ public void testFoldOneLinersEmptyClass() throws Exception { class A { //here should be an annotation } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 1, 2); // class } @@ -133,7 +132,7 @@ class HeaderCommentTest { } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 1, 3); // Javadoc } @@ -149,7 +148,7 @@ class ImportsTest { } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 3); // Imports } @@ -167,7 +166,7 @@ public void foo() { //here should be an annotation } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 4); // Javadoc FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 5, 7); // foo Methode } @@ -184,7 +183,7 @@ public void foo() { //here should not be an annotation } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 5); // method FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(regions, str, 3); } @@ -203,7 +202,7 @@ public void bar() { //here should be an annotation } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 4); // foo Methode FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 5, 7); // bar Methode } @@ -221,7 +220,7 @@ void bar() { //here should be an annotation } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // InnerClass FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 5); // bar Methode } @@ -245,7 +244,7 @@ void bar() { //here should be an annotation } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 4); // OuterWithDocs Javadoc FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 5, 12); // InnerWithDocs Klasse FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 6, 8); // InnerWithDocs Javadoc @@ -268,7 +267,7 @@ public void testJavadocs() throws Exception { class Example {} """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 1, 3); // 1. Javadoc FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 4, 6); // 2. Javadoc FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 7, 9); // 3. Javadoc @@ -301,7 +300,7 @@ void b() { //here should be an annotation } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 1, 3); // 1. Javadoc FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 4, 6); // 2. Javadoc FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 7, 9); // 3. Javadoc @@ -322,7 +321,7 @@ public void testCopyrightHeader() throws Exception { class SomeClass {} """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 0, 2); } @@ -341,7 +340,7 @@ void a() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 4); // JavaDoc FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 5, 6); // 1. Method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 7, 9); // 2. Method @@ -360,7 +359,7 @@ void x() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // 1. Method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 5); // if } @@ -380,7 +379,7 @@ void x() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 8); // 1. Method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 4); // try FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 5, 7); // catch @@ -399,7 +398,7 @@ void x() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // 1. Method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 5); // while } @@ -417,7 +416,7 @@ void x() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // 1. Method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 5); // for } @@ -435,7 +434,7 @@ void x() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // 1. Method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 5); // for } @@ -453,7 +452,7 @@ void x() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // 1. Method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 4); // do } @@ -471,7 +470,7 @@ void x() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // 1. Method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 5); // synchronized } @@ -490,7 +489,7 @@ void x() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 7); // 1. Method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 4, 6); // Supplier } @@ -507,7 +506,7 @@ void y() { //here should be an annotation }; } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // Object FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 5); // Method } @@ -530,7 +529,7 @@ public void run() { } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 8); // method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 7); // Runnable (anonymous class) FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 4, 6); // run @@ -548,7 +547,7 @@ enum N { //here should be an annotation B } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 1, 4); // enum } @@ -562,7 +561,7 @@ class O { } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 4); // static } @@ -585,7 +584,7 @@ void x() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 12); // method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 11); // if FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 4, 10); // for @@ -605,7 +604,7 @@ class Inner2{ //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // method FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 3, 5); // inner class } @@ -641,7 +640,7 @@ public void bar() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 21); // x() FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 22, 23); // bar() FoldingTestUtils.assertDoesNotContainRegionUsingStartLine(regions, str, 3); // do-while @@ -688,7 +687,7 @@ void a() { } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 4, 24); // switch expression } @@ -715,7 +714,7 @@ void a() { } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 4, 15); // switch } @@ -732,7 +731,7 @@ class Inner {} } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 5); // @Deprecated } @@ -752,7 +751,7 @@ class RecordTest { } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // array } @@ -778,7 +777,7 @@ public static void main(String[] args) { } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 4); // predicate FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 5, 7); // ArrayList FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 9, 10); // if @@ -817,7 +816,7 @@ public void run() { } } """; - List regions= FoldingTestUtils.getProjectionRegionsOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsExpandedRegionUsingStartAndEndLine(regions, str, 0, 4); // class B FoldingTestUtils.assertContainsCollapsedRegionUsingStartAndEndLine(regions, str, 1, 3); // class B1 FoldingTestUtils.assertContainsExpandedRegionUsingStartAndEndLine(regions, str, 6, 21); // class A @@ -828,3 +827,4 @@ public void run() { } } + diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingTestUtils.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingTestUtils.java index bd8159d4038..d998ba5df46 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingTestUtils.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingTestUtils.java @@ -24,11 +24,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.Position; -import org.eclipse.jface.text.Region; import org.eclipse.jface.text.source.Annotation; import org.eclipse.jface.text.source.projection.ProjectionAnnotation; import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel; @@ -40,14 +37,16 @@ import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor; public final class FoldingTestUtils { - private record StartEnd(int start, int end) {} + private record StartEnd(int start, int end) { + } - public record ProjectionRegion(IRegion region, boolean collapsed) {} + public record ProjectionRegion(int offset, int length, boolean collapsed) { + } private FoldingTestUtils() { } - public static List getProjectionRangesOfPackage(IPackageFragment packageFragment, String code) throws Exception { + public static List getProjectionRangesOfPackage(IPackageFragment packageFragment, String code) throws Exception { ICompilationUnit cu= packageFragment.createCompilationUnit("A.java", code, true, null); JavaEditor editor= (JavaEditor) EditorUtility.openInEditor(cu); try { @@ -59,61 +58,33 @@ public static List getProjectionRangesOfPackage(IPackageFragment packag } } - public static List getProjectionRegionsOfPackage(IPackageFragment packageFragment, String code) throws Exception { - ICompilationUnit cu= packageFragment.createCompilationUnit("A.java", code, true, null); - JavaEditor editor= (JavaEditor) EditorUtility.openInEditor(cu); - try { - ProjectionAnnotationModel model= editor.getAdapter(ProjectionAnnotationModel.class); - - return extractProjectionRegions(model); - } finally { - editor.close(false); - } - } - - public static List extractRegions(ProjectionAnnotationModel model) { - List regions= new ArrayList<>(); - Iterator it= model.getAnnotationIterator(); - while (it.hasNext()) { - Annotation a= it.next(); - if (a instanceof ProjectionAnnotation) { - Position p= model.getPosition(a); - regions.add(new Region(p.getOffset(), p.getLength())); - } - } - assertNoDuplicatedRegions(regions); - assertNoRegionsStartInTheSameOffset(regions); - return regions; - } - - public static List extractProjectionRegions(ProjectionAnnotationModel model) { + public static List extractRegions(ProjectionAnnotationModel model) { List regions= new ArrayList<>(); Iterator it= model.getAnnotationIterator(); while (it.hasNext()) { Annotation a= it.next(); if (a instanceof ProjectionAnnotation projectionAnnotation) { Position p= model.getPosition(a); - regions.add(new ProjectionRegion(new Region(p.getOffset(), p.getLength()), projectionAnnotation.isCollapsed())); + regions.add(new ProjectionRegion(p.getOffset(), p.getLength(), projectionAnnotation.isCollapsed())); } } - List projectionRanges= regions.stream().map(ProjectionRegion::region).collect(Collectors.toList()); - assertNoDuplicatedRegions(projectionRanges); - assertNoRegionsStartInTheSameOffset(projectionRanges); + assertNoDuplicatedRegions(regions); + assertNoRegionsStartInTheSameOffset(regions); return regions; } - private static void assertNoDuplicatedRegions(List regions) { + private static void assertNoDuplicatedRegions(List regions) { long distinctRegions= regions.stream() - .map(r -> Map.entry(r.getOffset(), r.getLength())) // map to offset-length pairs + .map(r -> Map.entry(r.offset(), r.length())) // map to offset-length pairs .distinct() .count(); assertEquals(regions.size(), distinctRegions, "Some regions are duplicated: " + sorted(regions)); } - private static void assertNoRegionsStartInTheSameOffset(Collection regions) { + private static void assertNoRegionsStartInTheSameOffset(Collection regions) { long distinctOffsets= regions.stream() - .map(IRegion::getOffset) + .map(ProjectionRegion::offset) .distinct() .count(); @@ -122,27 +93,27 @@ private static void assertNoRegionsStartInTheSameOffset(Collection regi } public static void assertCodeHasRegions(IPackageFragment packageFragment, String code, int regionsCount) throws Exception { - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, code); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, code); assertEquals(regionsCount, regions.size(), String.format("Expected %d regions but saw %d.", regionsCount, regions.size())); } - public static void assertDoesNotContainRegionUsingStartLine(List projectionRanges, String input, int startLine) { + public static void assertDoesNotContainRegionUsingStartLine(List projectionRanges, String input, int startLine) { int startLineBegin= findLineStartIndex(input, startLine); - for (IRegion region : projectionRanges) { - if (region.getOffset() == startLineBegin) { - fail("found unexpected region at offset=" + region.getOffset() + ", length=" + region.getLength() + + for (ProjectionRegion region : projectionRanges) { + if (region.offset() == startLineBegin) { + fail("found unexpected region at offset=" + region.offset() + ", length=" + region.length() + " starting at line " + startLine + " (line offset: " + startLineBegin + ")"); } } } - public static void assertDoesNotContainRegionUsingStartAndEndLine(List projectionRanges, String input, int startLine, int endLine) { - StartEnd startEnd = getStartEnd(input, startLine, endLine); + public static void assertDoesNotContainRegionUsingStartAndEndLine(List projectionRanges, String input, int startLine, int endLine) { + StartEnd startEnd= getStartEnd(input, startLine, endLine); assertDoesNotContainRegionWithOffsetAndLength(projectionRanges, startLine, endLine, startEnd.start(), startEnd.end()); } - public static void assertContainsRegionUsingStartAndEndLine(List projectionRanges, String input, int startLine, int endLine) { - StartEnd startEnd = getStartEnd(input, startLine, endLine); + public static void assertContainsRegionUsingStartAndEndLine(List projectionRanges, String input, int startLine, int endLine) { + StartEnd startEnd= getStartEnd(input, startLine, endLine); assertContainsRegionWithOffsetAndLength(projectionRanges, startLine, endLine, startEnd.start(), startEnd.end()); } @@ -160,8 +131,7 @@ private static void assertContainsRegionWithCollapsedState(List projectionRanges, int startLine, int endLine, int expectedRegionBegin, int expectedRegionEnd) { + static void assertDoesNotContainRegionWithOffsetAndLength(List projectionRanges, int startLine, int endLine, int expectedRegionBegin, int expectedRegionEnd) { int expectedRegionLength= expectedRegionEnd - expectedRegionBegin + 1; - for (IRegion region : projectionRanges) { - if (region.getOffset() == expectedRegionBegin && region.getLength() == expectedRegionLength) { + for (ProjectionRegion region : projectionRanges) { + if (region.offset() == expectedRegionBegin && region.length() == expectedRegionLength) { fail( "The region from line " + startLine + " to line " + endLine + " (offset: " + expectedRegionBegin + ", length: " + expectedRegionLength + ")" + @@ -199,11 +169,11 @@ static void assertDoesNotContainRegionWithOffsetAndLength(List projecti } } - static void assertContainsRegionWithOffsetAndLength(List projectionRanges, int startLine, int endLine, int expectedRegionBegin, int expectedRegionEnd) { + static void assertContainsRegionWithOffsetAndLength(List projectionRanges, int startLine, int endLine, int expectedRegionBegin, int expectedRegionEnd) { int expectedRegionLength= expectedRegionEnd - expectedRegionBegin + 1; - for (IRegion region : projectionRanges) { - if (region.getOffset() == expectedRegionBegin && region.getLength() == expectedRegionLength) { + for (ProjectionRegion region : projectionRanges) { + if (region.offset() == expectedRegionBegin && region.length() == expectedRegionLength) { return; } } @@ -221,9 +191,9 @@ static void assertContainsRegionWithOffsetAndLength(List projectionRang *
  • Then by length (descending i.e. longer regions first)
  • * */ - private static Collection sorted(Collection regions) { - List sortedRegions= new ArrayList<>(regions); - sortedRegions.sort(Comparator.comparingInt(IRegion::getOffset).thenComparing(Comparator.comparingInt(IRegion::getLength).reversed())); + private static Collection sorted(Collection regions) { + List sortedRegions= new ArrayList<>(regions); + sortedRegions.sort(Comparator.comparingInt(ProjectionRegion::offset).thenComparing(Comparator.comparingInt(ProjectionRegion::length).reversed())); return sortedRegions; } diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingWithShowSelectedElementTests.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingWithShowSelectedElementTests.java index 04be2c43c7f..3c33b329f91 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingWithShowSelectedElementTests.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/FoldingWithShowSelectedElementTests.java @@ -29,7 +29,6 @@ import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel; import org.eclipse.jdt.core.ICompilationUnit; @@ -82,7 +81,7 @@ void someMethod() { } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(packageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 4); } @@ -115,7 +114,7 @@ void someMethod() { } """, editor.getViewer().getTextWidget().getText()); - List regions= FoldingTestUtils.extractRegions(model); + List regions= FoldingTestUtils.extractRegions(model); IDocument document= editor.getViewer().getDocument(); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 6); // region (custom) @@ -162,3 +161,4 @@ void someMethod() { } } } + diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/MarkdownJavadocFoldingTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/MarkdownJavadocFoldingTest.java index f05de075d34..b85c0327221 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/MarkdownJavadocFoldingTest.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/folding/MarkdownJavadocFoldingTest.java @@ -29,7 +29,6 @@ import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.IRegion; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IPackageFragment; @@ -88,7 +87,7 @@ public void testClassWithMarkdownJavadocAsHeaderComment() throws Exception { class HeaderCommentTest { } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(fPackageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(fPackageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 1, 3); // Javadoc } @@ -105,8 +104,9 @@ public void foo() { //here should be an annotation } } """; - List regions= FoldingTestUtils.getProjectionRangesOfPackage(fPackageFragment, str); + List regions= FoldingTestUtils.getProjectionRangesOfPackage(fPackageFragment, str); FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 2, 4); // Javadoc FoldingTestUtils.assertContainsRegionUsingStartAndEndLine(regions, str, 5, 7); // foo method } } +