diff --git a/plugins/junit_rt/src/com/intellij/junit4/IdeaSuite.java b/plugins/junit_rt/src/com/intellij/junit4/IdeaSuite.java index 31d2e8bb70a6..77118a042269 100644 --- a/plugins/junit_rt/src/com/intellij/junit4/IdeaSuite.java +++ b/plugins/junit_rt/src/com/intellij/junit4/IdeaSuite.java @@ -86,14 +86,14 @@ class IdeaSuite extends Suite { } for (Iterator iterator = children.iterator(); iterator.hasNext();) { final Object child = iterator.next(); - if (child instanceof Suite || child instanceof SuiteMethod) { + if (isSuite(child)) { skipSuiteComponents(allNames, child); } } for (Iterator iterator = children.iterator(); iterator.hasNext(); ) { Object child = iterator.next(); - if (!allNames.contains(describeChild((Runner)child).getDisplayName())) { + if (!isSuite(child) && !allNames.contains(describeChild((Runner)child).getDisplayName())) { iterator.remove(); } } @@ -101,6 +101,10 @@ class IdeaSuite extends Suite { return children; } + private static boolean isSuite(Object child) { + return child instanceof Suite || child instanceof SuiteMethod; + } + private void skipSuiteComponents(Set allNames, Object child) { try { if (child instanceof Suite) {