From 4c754d31eb72f4f474db6d9d65fda3f0d062cd3e Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 25 Oct 2017 12:18:01 +0200 Subject: [PATCH] directory scopes shouldn't assume they're always inside project (IDEA-181135) --- .../intellij/psi/search/GlobalSearchScopesCore.java | 4 ++-- .../intellij/psi/search/GlobalSearchScopeTest.java | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/platform/analysis-api/src/com/intellij/psi/search/GlobalSearchScopesCore.java b/platform/analysis-api/src/com/intellij/psi/search/GlobalSearchScopesCore.java index 9877e03ccd82..616c73a9390b 100644 --- a/platform/analysis-api/src/com/intellij/psi/search/GlobalSearchScopesCore.java +++ b/platform/analysis-api/src/com/intellij/psi/search/GlobalSearchScopesCore.java @@ -248,7 +248,7 @@ public class GlobalSearchScopesCore { @Override public boolean isSearchInLibraries() { - return false; + return true; } @Override @@ -346,7 +346,7 @@ public class GlobalSearchScopesCore { @Override public boolean isSearchInLibraries() { - return false; + return true; } @Override diff --git a/platform/platform-tests/testSrc/com/intellij/psi/search/GlobalSearchScopeTest.java b/platform/platform-tests/testSrc/com/intellij/psi/search/GlobalSearchScopeTest.java index 89d9e9bf9bbe..5bc8c3699e3f 100644 --- a/platform/platform-tests/testSrc/com/intellij/psi/search/GlobalSearchScopeTest.java +++ b/platform/platform-tests/testSrc/com/intellij/psi/search/GlobalSearchScopeTest.java @@ -18,6 +18,7 @@ package com.intellij.psi.search; import com.intellij.openapi.roots.ModuleRootModificationUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.testFramework.PlatformTestCase; +import com.intellij.testFramework.PsiTestUtil; import com.intellij.testFramework.TempFiles; import org.jetbrains.annotations.NotNull; @@ -107,4 +108,16 @@ public class GlobalSearchScopeTest extends PlatformTestCase { assertFalse(GlobalSearchScope.fileScope(myProject, file1).intersectWith(trueIntersection).contains(file2)); assertEquals(1, targetCalled.get()); } + + public void testDirScopeSearchInLibraries() throws IOException { + VirtualFile libRoot = getVirtualFile(createTempDir("libRoot")); + VirtualFile contentRoot = getVirtualFile(createTempDir("contentRoot")); + + PsiTestUtil.removeAllRoots(getModule(), null); + PsiTestUtil.addContentRoot(getModule(), contentRoot); + PsiTestUtil.addLibrary(getModule(), libRoot.getPath()); + + assertTrue(GlobalSearchScopes.directoryScope(myProject, libRoot, true).isSearchInLibraries()); + assertTrue(GlobalSearchScopes.directoriesScope(myProject, true, libRoot, contentRoot).isSearchInLibraries()); + } } \ No newline at end of file