do not check infos by default

This commit is contained in:
Dmitry Avdeev
2013-10-28 14:53:25 +04:00
parent 9bf386fa86
commit 375d8ad106
6 changed files with 27 additions and 18 deletions
@@ -52,6 +52,7 @@ import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.TextRange;
@@ -75,6 +76,7 @@ import com.intellij.testFramework.HighlightTestInfo;
import com.intellij.testFramework.LightPlatformTestCase;
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.xml.XmlSchemaProvider;
import gnu.trove.THashMap;
import gnu.trove.TIntArrayList;
@@ -284,8 +286,18 @@ public abstract class DaemonAnalyzerTestCase extends CodeInsightTestCase {
return doDoTest(checkWarnings, checkInfos, false);
}
protected Collection<HighlightInfo> doDoTest(boolean checkWarnings, boolean checkInfos, boolean checkWeakWarnings) {
return checkHighlighting(new ExpectedHighlightingData(myEditor.getDocument(),checkWarnings, checkWeakWarnings, checkInfos, myFile));
protected Collection<HighlightInfo> doDoTest(final boolean checkWarnings, final boolean checkInfos, final boolean checkWeakWarnings) {
return ContainerUtil.filter(
checkHighlighting(new ExpectedHighlightingData(myEditor.getDocument(), checkWarnings, checkWeakWarnings, checkInfos, myFile)),
new Condition<HighlightInfo>() {
@Override
public boolean value(HighlightInfo info) {
return (info.getSeverity() == HighlightSeverity.INFORMATION) && checkInfos ||
(info.getSeverity() == HighlightSeverity.WARNING) && checkWarnings ||
(info.getSeverity() == HighlightSeverity.WEAK_WARNING) && checkWeakWarnings ||
info.getSeverity().compareTo(HighlightSeverity.WARNING) > 0;
}
});
}
@NotNull
@@ -395,12 +395,12 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig
@Override
public long checkHighlighting() {
return checkHighlighting(true, true, true);
return checkHighlighting(true, false, true);
}
@Override
public long testHighlighting(final String... filePaths) {
return testHighlighting(true, true, true, filePaths);
return testHighlighting(true, false, true, filePaths);
}
@Override
@@ -512,8 +512,10 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig
List<HighlightInfo> infos = doHighlighting();
ArrayList<IntentionAction> actions = new ArrayList<IntentionAction>();
for (HighlightInfo info : infos) {
for (Pair<HighlightInfo.IntentionActionDescriptor, TextRange> pair : info.quickFixActionRanges) {
actions.add(pair.getFirst().getAction());
if (info.quickFixActionRanges != null) {
for (Pair<HighlightInfo.IntentionActionDescriptor, TextRange> pair : info.quickFixActionRanges) {
actions.add(pair.getFirst().getAction());
}
}
}
return actions;
@@ -26,8 +26,6 @@ import com.intellij.find.findUsages.PsiElement2UsageTargetAdapter;
import com.intellij.lang.documentation.DocumentationProvider;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.markup.RangeHighlighter;
import com.intellij.openapi.util.Comparing;
@@ -291,7 +289,7 @@ public abstract class MavenDomTestCase extends MavenImportingTestCase {
}
protected void checkHighlighting(VirtualFile f) throws IOException {
checkHighlighting(f, true, true, true);
checkHighlighting(f, true, false, true);
}
protected void checkHighlighting(VirtualFile f, boolean checkWarnings, boolean checkInfos, boolean checkWeakWarnings) throws IOException {
@@ -17,7 +17,6 @@ package com.intellij.codeInsight.daemon.impl.analysis;
import com.intellij.lang.annotation.AnnotationHolder;
import com.intellij.lang.annotation.Annotator;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.XmlHighlighterColors;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
@@ -36,7 +35,6 @@ import java.util.List;
public class XmlNsPrefixAnnotator implements Annotator {
@Override
public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) {
if (ApplicationManager.getApplication().isUnitTestMode()) return;
if (element instanceof XmlTag || element instanceof XmlAttribute) {
List<SchemaPrefixReference> references = ContainerUtil.findAll(element.getReferences(), SchemaPrefixReference.class);
for (SchemaPrefixReference reference : references) {
@@ -1195,10 +1195,10 @@ public class XmlHighlightingTest extends DaemonAnalyzerTestCase {
configureByFile(BASE_PATH + "web-app_2_4.xsd");
final String testName = getTestName(false);
final String actionName = XmlBundle.message(AddXsiSchemaLocationForExtResourceAction.KEY);
doTestWithQuickFix(BASE_PATH + testName, actionName, true);
doTestWithQuickFix(BASE_PATH + testName + "2", actionName, true);
doTestWithQuickFix(BASE_PATH + testName + "3", actionName, true);
doTestWithQuickFix(BASE_PATH + testName + "4", actionName, true);
doTestWithQuickFix(BASE_PATH + testName, actionName, false);
doTestWithQuickFix(BASE_PATH + testName + "2", actionName, false);
doTestWithQuickFix(BASE_PATH + testName + "3", actionName, false);
doTestWithQuickFix(BASE_PATH + testName + "4", actionName, false);
}
public void testHighlightingWithConditionalSectionsInDtd() throws Exception {
@@ -1998,7 +1998,7 @@ public class XmlHighlightingTest extends DaemonAnalyzerTestCase {
getVirtualFile(BASE_PATH + "Substitute/test.xml"),
getVirtualFile(BASE_PATH + "Substitute/schema-b.xsd"),
getVirtualFile(BASE_PATH + "Substitute/schema-a.xsd")
}, true, true);
}, true, false);
}
public void testDtdWithXsd() throws Exception {
@@ -68,8 +68,7 @@ public class XMLCatalogManagerTest extends LightPlatformCodeInsightFixtureTestCa
myFixture.configureByFile("policy.xml");
try {
ExternalResourceManagerEx.getInstanceEx().setCatalogPropertiesFile(getTestDataPath() + "catalog.properties");
List<HighlightInfo> infos = myFixture.doHighlighting();
assertEquals(infos.toString(), 0, infos.size());
myFixture.checkHighlighting();
}
finally {
ExternalResourceManagerEx.getInstanceEx().setCatalogPropertiesFile(null);