package com.intellij.util.indexing;
import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.psi.stubs.StubUpdatingIndex;
import com.intellij.testFramework.LightVirtualFile;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
import com.intellij.util.text.CharArrayCharSequence;
/**
* @author Dmitry Avdeev
* Date: 5/23/13
*/
public class FileBasedIndexTest extends LightCodeInsightFixtureTestCase {
public void testSurviveOnFileTypeChange() throws Exception {
myFixture.configureByText("Foo.java", "class Foo { String bar; }");
myFixture.testHighlighting();
FileTypeIndexTest.addAndRemoveFileType();
myFixture.configureByText("Bar.java", "class Bar { String bar; }");
myFixture.testHighlighting();
}
public void testLargeFile() throws Exception {
char[] text = new char[FileUtilRt.LARGE_FOR_CONTENT_LOADING + 42];
final String clazz = "class Foo { String bar; }";
for (int i = 0; i < text.length; i++) {
text[i] = i < clazz.length() ? clazz.charAt(i) : ' ';
}
final LightVirtualFile file = new LightVirtualFile("Foo.java", new CharArrayCharSequence(text));
assertFalse(((FileBasedIndexImpl)FileBasedIndex.getInstance()).isIndexingCandidate(file, StubUpdatingIndex.INDEX_ID));
}
}