mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
correctly remove temp file types in tests
GitOrigin-RevId: 23a56810104e5451b78a46c2a65b30d20e7a738e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
f83a2e1c93
commit
c4db8aaae6
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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<VirtualFile> 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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user