diff options
Diffstat (limited to 'clang-tools-extra/clangd/unittests/XRefsTests.cpp')
-rw-r--r-- | clang-tools-extra/clangd/unittests/XRefsTests.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/unittests/XRefsTests.cpp b/clang-tools-extra/clangd/unittests/XRefsTests.cpp index e009c1c3ab2..058f205bb3a 100644 --- a/clang-tools-extra/clangd/unittests/XRefsTests.cpp +++ b/clang-tools-extra/clangd/unittests/XRefsTests.cpp @@ -1048,6 +1048,27 @@ TEST(GetNonLocalDeclRefs, All) { } } +TEST(DocumentLinks, All) { + Annotations MainCpp(R"cpp( + #include $foo[["foo.h"]] + int end_of_preamble = 0; + #include $bar[["bar.h"]] + )cpp"); + + TestTU TU; + TU.Code = MainCpp.code(); + TU.AdditionalFiles = {{"foo.h", ""}, {"bar.h", ""}}; + auto AST = TU.build(); + + EXPECT_THAT( + clangd::getDocumentLinks(AST), + ElementsAre( + DocumentLink({MainCpp.range("foo"), + URIForFile::canonicalize(testPath("foo.h"), "")}), + DocumentLink({MainCpp.range("bar"), + URIForFile::canonicalize(testPath("bar.h"), "")}))); +} + } // namespace } // namespace clangd } // namespace clang |