diff options
Diffstat (limited to 'clang-tools-extra/unittests/clangd/IndexTests.cpp')
| -rw-r--r-- | clang-tools-extra/unittests/clangd/IndexTests.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/clang-tools-extra/unittests/clangd/IndexTests.cpp b/clang-tools-extra/unittests/clangd/IndexTests.cpp index 70dda71156c..3a159279733 100644 --- a/clang-tools-extra/unittests/clangd/IndexTests.cpp +++ b/clang-tools-extra/unittests/clangd/IndexTests.cpp @@ -187,30 +187,35 @@ TEST(MemIndexTest, TemplateSpecialization) { SymbolSlab::Builder B; Symbol S = symbol("TempSpec"); + S.ID = SymbolID("0"); B.insert(S); - S = symbol("TempSpec<int, bool>"); + S = symbol("TempSpec"); + S.ID = SymbolID("1"); S.SymInfo.Properties = static_cast<index::SymbolPropertySet>( index::SymbolProperty::TemplateSpecialization); B.insert(S); - S = symbol("TempSpec<int, U>"); + S = symbol("TempSpec"); + S.ID = SymbolID("2"); S.SymInfo.Properties = static_cast<index::SymbolPropertySet>( index::SymbolProperty::TemplatePartialSpecialization); B.insert(S); auto I = MemIndex::build(std::move(B).build(), RefSlab()); FuzzyFindRequest Req; - Req.AnyScope = true; - Req.Query = "TempSpec"; - EXPECT_THAT(match(*I, Req), - UnorderedElementsAre("TempSpec", "TempSpec<int, bool>", - "TempSpec<int, U>")); + Req.AnyScope = true; - Req.Query = "TempSpec<int"; - EXPECT_THAT(match(*I, Req), - UnorderedElementsAre("TempSpec<int, bool>", "TempSpec<int, U>")); + std::vector<Symbol> Symbols; + I->fuzzyFind(Req, [&Symbols](const Symbol &Sym) { Symbols.push_back(Sym); }); + EXPECT_EQ(Symbols.size(), 1U); + EXPECT_FALSE(Symbols.front().SymInfo.Properties & + static_cast<index::SymbolPropertySet>( + index::SymbolProperty::TemplateSpecialization)); + EXPECT_FALSE(Symbols.front().SymInfo.Properties & + static_cast<index::SymbolPropertySet>( + index::SymbolProperty::TemplatePartialSpecialization)); } TEST(MergeIndexTest, Lookup) { |

