From 1474368a79a50ec16638aca11835de1562dcdb7e Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 2 Feb 2017 17:54:16 +0300 Subject: [PATCH] one more test --- .../testSrc/com/intellij/psi/CodeFragmentsTest.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/java/java-tests/testSrc/com/intellij/psi/CodeFragmentsTest.java b/java/java-tests/testSrc/com/intellij/psi/CodeFragmentsTest.java index 76b6531f89e1..d507b2ee9d15 100644 --- a/java/java-tests/testSrc/com/intellij/psi/CodeFragmentsTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/CodeFragmentsTest.java @@ -25,6 +25,7 @@ import com.intellij.testFramework.LightVirtualFile; import com.intellij.testFramework.PlatformTestCase; import com.intellij.testFramework.PlatformTestUtil; import com.intellij.testFramework.PsiTestCase; +import com.intellij.util.GCUtil; @PlatformTestCase.WrapInCommand public class CodeFragmentsTest extends PsiTestCase{ @@ -68,4 +69,13 @@ public class CodeFragmentsTest extends PsiTestCase{ assertSame(fragment, PsiManager.getInstance(myProject).findFile(file)); assertTrue(fragment.isValid()); } + + public void testCorrectFragmentPsiAfterGc() { + VirtualFile file = JavaCodeFragmentFactory.getInstance(myProject).createExpressionCodeFragment("a", null, null, true).getViewProvider().getVirtualFile(); + assertInstanceOf(file, LightVirtualFile.class); + + GCUtil.tryGcSoftlyReachableObjects(); + + assertInstanceOf(PsiManager.getInstance(myProject).findFile(file), PsiExpressionCodeFragment.class); + } }