From d0fc0789d82793837428d74168d0ea2ac5c8bc1d Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Fri, 8 Apr 2011 21:44:48 +0400 Subject: [PATCH] projectview tests fixed --- .../ide/projectView/impl/nodes/PackageViewLibrariesNode.java | 5 ++++- .../src/com/intellij/ide/projectView/ProjectViewNode.java | 3 +-- .../intellij/ide/projectView/impl/nodes/ModuleGroupNode.java | 2 +- .../src/com/intellij/testFramework/ProjectViewTestUtil.java | 3 +++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PackageViewLibrariesNode.java b/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PackageViewLibrariesNode.java index d0358681dc74..8fdbf10563a6 100644 --- a/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PackageViewLibrariesNode.java +++ b/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PackageViewLibrariesNode.java @@ -41,7 +41,10 @@ public class PackageViewLibrariesNode extends ProjectViewNode{ } public boolean contains(@NotNull final VirtualFile file) { - return someChildContainsFile(file); + ProjectFileIndex index = ProjectRootManager.getInstance(getProject()).getFileIndex(); + if (!index.isInLibrarySource(file) && !index.isInLibraryClasses(file)) return false; + + return someChildContainsFile(file, false); } @NotNull diff --git a/platform/lang-api/src/com/intellij/ide/projectView/ProjectViewNode.java b/platform/lang-api/src/com/intellij/ide/projectView/ProjectViewNode.java index b6d43e811365..ac094e1f4f1d 100644 --- a/platform/lang-api/src/com/intellij/ide/projectView/ProjectViewNode.java +++ b/platform/lang-api/src/com/intellij/ide/projectView/ProjectViewNode.java @@ -130,11 +130,10 @@ public abstract class ProjectViewNode extends AbstractTreeNode im public boolean someChildContainsFile(final VirtualFile file, boolean optimizeByCheckingFileRootsFirst) { VirtualFile parent = file.getParent(); - if (parent == null) return false; boolean mayContain = false; - if (optimizeByCheckingFileRootsFirst) { + if (optimizeByCheckingFileRootsFirst && parent != null) { Collection roots = getRoots(); for (VirtualFile eachRoot : roots) { if (parent.equals(eachRoot.getParent())) { diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ModuleGroupNode.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ModuleGroupNode.java index fd1fed15571b..d60cbde492a3 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ModuleGroupNode.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ModuleGroupNode.java @@ -83,7 +83,7 @@ public abstract class ModuleGroupNode extends ProjectViewNode imple } public boolean contains(@NotNull VirtualFile file) { - return someChildContainsFile(file); + return someChildContainsFile(file, false); } public void update(PresentationData presentation) { diff --git a/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java index 8a23de557f88..3ec4f41e7111 100644 --- a/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/ProjectViewTestUtil.java @@ -78,6 +78,9 @@ public class ProjectViewTestUtil { boolean actual = eachNode.contains(eachFile); boolean expected = map.get(eachFile).contains(eachNode); if (actual != expected) { + boolean actual1 = eachNode.contains(eachFile); + boolean expected1 = map.get(eachFile).contains(eachNode); + Assert.assertTrue("file=" + eachFile + " node=" + eachNode.getTestPresentation() + " expected:" + expected, false); } }