diff options
Diffstat (limited to 'clang-tools-extra/clangd/unittests/SourceCodeTests.cpp')
-rw-r--r-- | clang-tools-extra/clangd/unittests/SourceCodeTests.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/unittests/SourceCodeTests.cpp b/clang-tools-extra/clangd/unittests/SourceCodeTests.cpp index cbed9a0f064..e9cd886e1dd 100644 --- a/clang-tools-extra/clangd/unittests/SourceCodeTests.cpp +++ b/clang-tools-extra/clangd/unittests/SourceCodeTests.cpp @@ -680,6 +680,27 @@ TEST(SourceCodeTests, GetEligiblePoints) { EXPECT_EQ(Res.EnclosingNamespace, Case.EnclosingNamespace) << Test.code(); } } + +TEST(SourceCodeTests, IdentifierRanges) { + Annotations Code(R"cpp( + class [[Foo]] {}; + // Foo + /* Foo */ + void f([[Foo]]* foo1) { + [[Foo]] foo2; + auto S = [[Foo]](); +// cross-line identifier is not supported. +F\ +o\ +o foo2; + } + )cpp"); + LangOptions LangOpts; + LangOpts.CPlusPlus = true; + EXPECT_EQ(Code.ranges(), + collectIdentifierRanges("Foo", Code.code(), LangOpts)); +} + } // namespace } // namespace clangd } // namespace clang |