diff --git a/src/test/java/org/antlr/intellij/plugin/folding/ANTLRv4FoldingBuilderTest.java b/src/test/java/org/antlr/intellij/plugin/folding/ANTLRv4FoldingBuilderTest.java index 0d1930d0..61e7fd78 100644 --- a/src/test/java/org/antlr/intellij/plugin/folding/ANTLRv4FoldingBuilderTest.java +++ b/src/test/java/org/antlr/intellij/plugin/folding/ANTLRv4FoldingBuilderTest.java @@ -1,10 +1,14 @@ package org.antlr.intellij.plugin.folding; import com.intellij.codeInsight.folding.CodeFoldingManager; +import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.FoldRegion; +import com.intellij.testFramework.EditorTestUtil; import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase; import org.antlr.intellij.plugin.TestUtils; +import java.lang.reflect.Method; + public class ANTLRv4FoldingBuilderTest extends LightPlatformCodeInsightFixtureTestCase { public void test_folding_should_not_throw_on_incomplete_prequel() { @@ -12,7 +16,7 @@ public void test_folding_should_not_throw_on_incomplete_prequel() { myFixture.configureByText("foo.g4", "grammar foo;\n @\n"); // When - CodeFoldingManager.getInstance(getProject()).buildInitialFoldings(myFixture.getEditor()); + buildInitialFoldings(); // Then FoldRegion[] allFoldRegions = myFixture.getEditor().getFoldingModel().getAllFoldRegions(); @@ -24,7 +28,7 @@ public void test_should_not_fold_single_line() { myFixture.configureByText("foo.g4", "grammar foo;\n @members { int i; }\n"); // When - CodeFoldingManager.getInstance(getProject()).buildInitialFoldings(myFixture.getEditor()); + buildInitialFoldings(); // Then FoldRegion[] allFoldRegions = myFixture.getEditor().getFoldingModel().getAllFoldRegions(); @@ -35,4 +39,13 @@ public void test_should_not_fold_single_line() { protected void tearDown() throws Exception { TestUtils.tearDownIgnoringObjectNotDisposedException(() -> super.tearDown()); } + + private void buildInitialFoldings() { + try { + Method method = EditorTestUtil.class.getMethod("buildInitialFoldingsInBackground", Editor.class); + method.invoke(null, myFixture.getEditor()); + } catch (ReflectiveOperationException e) { + CodeFoldingManager.getInstance(getProject()).buildInitialFoldings(myFixture.getEditor()); + } + } } \ No newline at end of file