diff --git a/platform/lang-api/src/com/intellij/testIntegration/TestFramework.java b/platform/lang-api/src/com/intellij/testIntegration/TestFramework.java index 0f51a3c7d14f..5a7fc14c0ae7 100644 --- a/platform/lang-api/src/com/intellij/testIntegration/TestFramework.java +++ b/platform/lang-api/src/com/intellij/testIntegration/TestFramework.java @@ -62,7 +62,13 @@ public interface TestFramework { FileTemplateDescriptor getTestMethodFileTemplateDescriptor(); + /** + * should be checked for abstract method error + */ boolean isIgnoredMethod(PsiElement element); + /** + * should be checked for abstract method error + */ boolean isTestMethod(PsiElement element); } diff --git a/platform/testRunner/src/com/intellij/execution/testframework/TestIconProvider.java b/platform/testRunner/src/com/intellij/execution/testframework/TestIconProvider.java index 325c375fbdba..7133a8e12c24 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/TestIconProvider.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/TestIconProvider.java @@ -34,15 +34,21 @@ public class TestIconProvider extends IconProvider { final TestFramework[] testFrameworks = Extensions.getExtensions(TestFramework.EXTENSION_NAME); for (TestFramework framework : testFrameworks) { - if (framework.isIgnoredMethod(element)) { - return TestsUIUtil.loadIcon("ignoredTest"); + try { + if (framework.isIgnoredMethod(element)) { + return TestsUIUtil.loadIcon("ignoredTest"); + } } + catch (AbstractMethodError ignored) {} } for (TestFramework framework : testFrameworks) { - if (framework.isTestMethod(element)) { - return new LayeredIcon(PlatformIcons.METHOD_ICON, TestsUIUtil.loadIcon("testMark")); + try { + if (framework.isTestMethod(element)) { + return new LayeredIcon(PlatformIcons.METHOD_ICON, TestsUIUtil.loadIcon("testMark")); + } } + catch (AbstractMethodError ignore) {} } return null;