From 01a5e2b7bf54ff2a63ea8d910a5094c0e3094933 Mon Sep 17 00:00:00 2001 From: Bastien Jansen Date: Wed, 28 Jun 2023 10:45:40 +0200 Subject: [PATCH] fix: fixed a test failing in recent versions of the SDK --- .../folding/ANTLRv4FoldingBuilderTest.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) 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