summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clangd/FindSymbolsTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/unittests/clangd/FindSymbolsTests.cpp')
-rw-r--r--clang-tools-extra/unittests/clangd/FindSymbolsTests.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/clang-tools-extra/unittests/clangd/FindSymbolsTests.cpp b/clang-tools-extra/unittests/clangd/FindSymbolsTests.cpp
index e4eea0bebe1..d8483e98df1 100644
--- a/clang-tools-extra/unittests/clangd/FindSymbolsTests.cpp
+++ b/clang-tools-extra/unittests/clangd/FindSymbolsTests.cpp
@@ -264,6 +264,17 @@ TEST_F(WorkspaceSymbolsTest, Enums) {
EXPECT_THAT(getSymbols("ns::Color4::White"), ElementsAre(Named("White")));
}
+TEST_F(WorkspaceSymbolsTest, Ranking) {
+ addFile("foo.h", R"cpp(
+ namespace ns{}
+ function func();
+ )cpp");
+ addFile("foo.cpp", R"cpp(
+ #include "foo.h"
+ )cpp");
+ EXPECT_THAT(getSymbols("::"), ElementsAre(Named("func"), Named("ns")));
+}
+
TEST_F(WorkspaceSymbolsTest, WithLimit) {
addFile("foo.h", R"cpp(
int foo;
@@ -272,6 +283,7 @@ TEST_F(WorkspaceSymbolsTest, WithLimit) {
addFile("foo.cpp", R"cpp(
#include "foo.h"
)cpp");
+ // Foo is higher ranked because of exact name match.
EXPECT_THAT(getSymbols("foo"),
UnorderedElementsAre(AllOf(Named("foo"), InContainer(""),
WithKind(SymbolKind::Variable)),
@@ -279,9 +291,7 @@ TEST_F(WorkspaceSymbolsTest, WithLimit) {
WithKind(SymbolKind::Variable))));
Limit = 1;
- EXPECT_THAT(getSymbols("foo"),
- ElementsAre(AnyOf((Named("foo"), InContainer("")),
- AllOf(Named("foo2"), InContainer("")))));
+ EXPECT_THAT(getSymbols("foo"), ElementsAre(Named("foo")));
}
} // namespace clangd
OpenPOWER on IntegriCloud