diff --git a/java/java-tests/testSrc/com/intellij/util/indexing/FileBasedIndexTest.java b/java/java-tests/testSrc/com/intellij/util/indexing/FileBasedIndexTest.java index 18cf1d81ee74..a85781174e8c 100644 --- a/java/java-tests/testSrc/com/intellij/util/indexing/FileBasedIndexTest.java +++ b/java/java-tests/testSrc/com/intellij/util/indexing/FileBasedIndexTest.java @@ -2,18 +2,16 @@ package com.intellij.util.indexing; import com.intellij.find.ngrams.TrigramIndex; +import com.intellij.openapi.Disposable; import com.intellij.openapi.fileTypes.FileType; -import com.intellij.openapi.fileTypes.ex.FileTypeManagerEx; +import com.intellij.openapi.fileTypes.FileTypeManager; +import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileWithId; -import com.intellij.psi.search.FilenameIndex; -import com.intellij.psi.search.FilenameIndexImpl; import com.intellij.psi.stubs.StubUpdatingIndex; -import com.intellij.testFramework.LightVirtualFile; import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase; -import com.intellij.util.text.CharArrayCharSequence; /** * @author Dmitry Avdeev @@ -23,8 +21,11 @@ public class FileBasedIndexTest extends LightJavaCodeInsightFixtureTestCase { public void testSurviveOnFileTypeChange() { myFixture.configureByText("Foo.java", "class Foo { String bar; }"); myFixture.testHighlighting(); - FileType foo = FileTypeIndexTest.registerFakeFileType(); - FileTypeManagerEx.getInstanceEx().unregisterFileType(foo); + Disposable disposable = Disposer.newDisposable(); + FileType foo = FileTypeIndexTest.registerFakeFileType(getTestName(false), disposable); + String fooName = foo.getName(); + Disposer.dispose(disposable); + assertNull(FileTypeManager.getInstance().findFileTypeByName(fooName)); myFixture.configureByText("Bar.java", "class Bar { String bar; }"); myFixture.testHighlighting(); } diff --git a/platform/platform-tests/testSrc/com/intellij/util/indexing/FileTypeIndexTest.java b/platform/platform-tests/testSrc/com/intellij/util/indexing/FileTypeIndexTest.java index 21cd514b655d..23f09240ff16 100644 --- a/platform/platform-tests/testSrc/com/intellij/util/indexing/FileTypeIndexTest.java +++ b/platform/platform-tests/testSrc/com/intellij/util/indexing/FileTypeIndexTest.java @@ -1,10 +1,12 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.util.indexing; +import com.intellij.openapi.Disposable; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.PlainTextFileType; import com.intellij.openapi.fileTypes.ex.FakeFileType; import com.intellij.openapi.fileTypes.ex.FileTypeManagerEx; +import com.intellij.openapi.util.Disposer; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.search.FileTypeIndex; import com.intellij.psi.search.FileTypeIndexImpl; @@ -25,7 +27,8 @@ public class FileTypeIndexTest extends BasePlatformTestCase { FileTypeIndex.getFiles(PlainTextFileType.INSTANCE, GlobalSearchScope.allScope(getProject())); int version = index.getVersion(); - FileType foo = registerFakeFileType(); + Disposable disposable = Disposer.newDisposable(); + FileType foo = registerFakeFileType(getTestName(false), disposable); try { assertEquals(version, index.getVersion()); Collection files = FileTypeIndex.getFiles(foo, GlobalSearchScope.allScope(getProject())); @@ -33,14 +36,14 @@ public class FileTypeIndexTest extends BasePlatformTestCase { assertEquals(foo, FileTypeIndex.getIndexedFileType(file, getProject())); } finally { - FileTypeManagerEx.getInstanceEx().unregisterFileType(foo); + Disposer.dispose(disposable); } assertEquals(PlainTextFileType.INSTANCE, FileTypeIndex.getIndexedFileType(file, getProject())); assertEmpty(FileTypeIndex.getFiles(foo, GlobalSearchScope.allScope(getProject()))); } @NotNull - static FileType registerFakeFileType() { + static FileType registerFakeFileType(@NotNull String name, @NotNull Disposable parent) { FileType foo = new FakeFileType() { @Override public boolean isMyFileType(@NotNull VirtualFile file) { @@ -50,17 +53,19 @@ public class FileTypeIndexTest extends BasePlatformTestCase { @NotNull @Override public String getName() { - return "foo"; + return name; } @NotNull @Override public String getDescription() { - return ""; + return name; } + }; FileTypeManagerEx.getInstanceEx().registerFileType(foo); + Disposer.register(parent, () -> FileTypeManagerEx.getInstanceEx().unregisterFileType(foo)); return foo; } }