aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clangd/unittests/HeadersTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/unittests/HeadersTests.cpp')
-rw-r--r--clang-tools-extra/clangd/unittests/HeadersTests.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/unittests/HeadersTests.cpp b/clang-tools-extra/clangd/unittests/HeadersTests.cpp
index 751383e3..440582e 100644
--- a/clang-tools-extra/clangd/unittests/HeadersTests.cpp
+++ b/clang-tools-extra/clangd/unittests/HeadersTests.cpp
@@ -344,6 +344,17 @@ TEST_F(HeadersTest, ShortenIncludesInSearchPathBracketed) {
EXPECT_EQ(calculate(BarHeader), "<sub/bar.h>");
}
+TEST_F(HeadersTest, ShortenIncludesInSearchPathBracketedFilterByFullPath) {
+ // The filter receives the full path of the header, so it is able to filter by
+ // the parent directory, even if it is part of the include search path
+ AngledHeaders.push_back([](auto Path) {
+ llvm::Regex Pattern("sub/.*");
+ return Pattern.match(Path);
+ });
+ std::string BarHeader = testPath("sub/bar.h");
+ EXPECT_EQ(calculate(BarHeader), "<bar.h>");
+}
+
TEST_F(HeadersTest, ShortenedIncludeNotInSearchPath) {
std::string BarHeader =
llvm::sys::path::convert_to_slash(testPath("sub-2/bar.h"));