Render short type names in quick documentation and navigation
This commit is contained in:
@@ -16,9 +16,6 @@
|
||||
|
||||
package org.jetbrains.jet.editor.quickDoc;
|
||||
|
||||
import com.google.common.base.Predicates;
|
||||
import com.google.common.collect.Collections2;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.intellij.codeInsight.documentation.DocumentationManager;
|
||||
import com.intellij.codeInsight.navigation.CtrlMouseHandler;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
@@ -27,17 +24,13 @@ import com.intellij.psi.PsiElement;
|
||||
import com.intellij.rt.execution.junit.FileComparisonFailure;
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import junit.framework.Assert;
|
||||
import junit.framework.ComparisonFailure;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.InTextDirectivesUtils;
|
||||
import org.jetbrains.jet.plugin.ProjectDescriptorWithStdlibSources;
|
||||
import org.jetbrains.jet.test.util.UtilPackage;
|
||||
import org.junit.Assert;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractJetQuickDocProviderTest extends LightCodeInsightFixtureTestCase {
|
||||
@@ -64,16 +57,18 @@ public abstract class AbstractJetQuickDocProviderTest extends LightCodeInsightFi
|
||||
testDataFile.getAbsolutePath());
|
||||
}
|
||||
else if (directives.size() == 1) {
|
||||
assertNotNull(info);
|
||||
|
||||
String expectedInfo = directives.get(0);
|
||||
|
||||
// We can avoid testing for too long comments with \n character by placing '...' in test data
|
||||
if (info != null && expectedInfo.endsWith("...")) {
|
||||
if (expectedInfo.endsWith("...")) {
|
||||
if (!info.startsWith(StringUtil.trimEnd(expectedInfo, "..."))) {
|
||||
throw new ComparisonFailure(null, expectedInfo, info);
|
||||
wrapToFileComparisonFailure(info, path, textData);
|
||||
}
|
||||
}
|
||||
else {
|
||||
Assert.assertEquals(expectedInfo, info);
|
||||
else if (!expectedInfo.equals(info)) {
|
||||
wrapToFileComparisonFailure(info, path, textData);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -81,6 +76,17 @@ public abstract class AbstractJetQuickDocProviderTest extends LightCodeInsightFi
|
||||
}
|
||||
}
|
||||
|
||||
private static void wrapToFileComparisonFailure(String info, String filePath, String fileData) {
|
||||
int newLineIndex = info.indexOf('\n');
|
||||
if (newLineIndex != -1) {
|
||||
info = info.substring(0, newLineIndex) + "...";
|
||||
}
|
||||
|
||||
String correctedFileText = fileData.replaceFirst("//\\s?INFO: .*", "// INFO: " + info);
|
||||
throw new FileComparisonFailure("Unexpected info", fileData, correctedFileText, new File(filePath).getAbsolutePath());
|
||||
}
|
||||
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected LightProjectDescriptor getProjectDescriptor() {
|
||||
|
||||
Reference in New Issue
Block a user