use filecomparisonexception

This commit is contained in:
Gregory.Shrago
2012-11-01 22:11:44 +04:00
parent 95bdafa286
commit 497902fdda
@@ -34,6 +34,7 @@ import com.intellij.openapi.options.SchemesManagerFactory;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.progress.impl.ProgressManagerImpl;
import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
@@ -45,6 +46,7 @@ import com.intellij.psi.impl.PsiFileFactoryImpl;
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl;
import com.intellij.psi.util.CachedValuesManager;
import com.intellij.rt.execution.junit.FileComparisonFailure;
import com.intellij.util.CachedValuesManagerImpl;
import com.intellij.util.Function;
import com.intellij.util.messages.MessageBus;
@@ -56,7 +58,6 @@ import org.picocontainer.defaults.AbstractComponentAdapter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Set;
@@ -274,29 +275,21 @@ public abstract class ParsingTestCase extends PlatformLiteFixture {
text = text.trim();
String expectedFileName = myFullDataPath + File.separatorChar + targetDataName;
if (OVERWRITE_TESTDATA) {
writeFile(expectedFileName, text);
VfsTestUtil.overwriteTestData(expectedFileName, text);
System.out.println("File " + expectedFileName + " created.");
}
try {
String expectedText = doLoadFile(myFullDataPath, targetDataName);
assertEquals(targetDataName, expectedText, text);
if (!Comparing.equal(expectedText, text)) {
throw new FileComparisonFailure(targetDataName, expectedText, text, expectedFileName);
}
}
catch(FileNotFoundException e){
writeFile(expectedFileName, text);
VfsTestUtil.overwriteTestData(expectedFileName, text);
fail("No output text found. File " + expectedFileName + " created.");
}
}
private static void writeFile(String fullName, String text) throws IOException {
FileWriter writer = new FileWriter(fullName);
try {
writer.write(text);
}
finally {
writer.close();
}
}
protected static String toParseTreeText(final PsiElement file, boolean skipSpaces, boolean printRanges) {
return DebugUtil.psiToString(file, skipSpaces, printRanges);
}