From dd29ef5a7dc52fb2c56f3454eadbc5cc42c619eb Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 29 Feb 2012 09:55:04 +0100 Subject: [PATCH] junit: do not skip suite self when filtering its components --- plugins/junit_rt/src/com/intellij/junit4/IdeaSuite.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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) {