diff options
Diffstat (limited to 'clang-tools-extra/unittests/clangd')
7 files changed, 34 insertions, 27 deletions
diff --git a/clang-tools-extra/unittests/clangd/BackgroundIndexTests.cpp b/clang-tools-extra/unittests/clangd/BackgroundIndexTests.cpp index c81abbbf4eb..c6f401d2740 100644 --- a/clang-tools-extra/unittests/clangd/BackgroundIndexTests.cpp +++ b/clang-tools-extra/unittests/clangd/BackgroundIndexTests.cpp @@ -9,14 +9,16 @@ using testing::AllOf; using testing::Not; using testing::UnorderedElementsAre; +using namespace llvm; namespace clang { namespace clangd { MATCHER_P(Named, N, "") { return arg.Name == N; } -MATCHER(Declared, "") { return !arg.CanonicalDeclaration.FileURI.empty(); } -MATCHER(Defined, "") { return !arg.Definition.FileURI.empty(); } - -MATCHER_P(FileURI, F, "") { return arg.Location.FileURI == F; } +MATCHER(Declared, "") { + return !StringRef(arg.CanonicalDeclaration.FileURI).empty(); +} +MATCHER(Defined, "") { return !StringRef(arg.Definition.FileURI).empty(); } +MATCHER_P(FileURI, F, "") { return StringRef(arg.Location.FileURI) == F; } testing::Matcher<const RefSlab &> RefsAre(std::vector<testing::Matcher<Ref>> Matchers) { return ElementsAre(testing::Pair(_, UnorderedElementsAreArray(Matchers))); diff --git a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp index b1e164dad07..e88fd087cd2 100644 --- a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp +++ b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp @@ -583,7 +583,7 @@ TEST(CompletionTest, IncludeInsertionPreprocessorIntegrationTests) { ClangdServer Server(CDB, FS, DiagConsumer, ClangdServer::optsForTest()); auto BarURI = URI::createFile(BarHeader).toString(); Symbol Sym = cls("ns::X"); - Sym.CanonicalDeclaration.FileURI = BarURI; + Sym.CanonicalDeclaration.FileURI = BarURI.c_str(); Sym.IncludeHeaders.emplace_back(BarURI, 1); // Shoten include path based on search dirctory and insert. auto Results = completions(Server, @@ -614,8 +614,8 @@ TEST(CompletionTest, NoIncludeInsertionWhenDeclFoundInFile) { Symbol SymY = cls("ns::Y"); std::string BarHeader = testPath("bar.h"); auto BarURI = URI::createFile(BarHeader).toString(); - SymX.CanonicalDeclaration.FileURI = BarURI; - SymY.CanonicalDeclaration.FileURI = BarURI; + SymX.CanonicalDeclaration.FileURI = BarURI.c_str(); + SymY.CanonicalDeclaration.FileURI = BarURI.c_str(); SymX.IncludeHeaders.emplace_back("<bar>", 1); SymY.IncludeHeaders.emplace_back("<bar>", 1); // Shoten include path based on search dirctory and insert. @@ -1252,7 +1252,7 @@ TEST(CompletionTest, OverloadBundling) { // Differences in header-to-insert suppress bundling. std::string DeclFile = URI::createFile(testPath("foo")).toString(); - NoArgsGFunc.CanonicalDeclaration.FileURI = DeclFile; + NoArgsGFunc.CanonicalDeclaration.FileURI = DeclFile.c_str(); NoArgsGFunc.IncludeHeaders.emplace_back("<foo>", 1); EXPECT_THAT( completions(Context + "int y = GFunc^", {NoArgsGFunc}, Opts).Completions, @@ -1959,7 +1959,7 @@ TEST(CompletionTest, EnableSpeculativeIndexRequest) { TEST(CompletionTest, InsertTheMostPopularHeader) { std::string DeclFile = URI::createFile(testPath("foo")).toString(); Symbol sym = func("Func"); - sym.CanonicalDeclaration.FileURI = DeclFile; + sym.CanonicalDeclaration.FileURI = DeclFile.c_str(); sym.IncludeHeaders.emplace_back("\"foo.h\"", 2); sym.IncludeHeaders.emplace_back("\"bar.h\"", 1000); @@ -1981,7 +1981,7 @@ TEST(CompletionTest, NoInsertIncludeIfOnePresent) { std::string DeclFile = URI::createFile(testPath("foo")).toString(); Symbol sym = func("Func"); - sym.CanonicalDeclaration.FileURI = DeclFile; + sym.CanonicalDeclaration.FileURI = DeclFile.c_str(); sym.IncludeHeaders.emplace_back("\"foo.h\"", 2); sym.IncludeHeaders.emplace_back("\"bar.h\"", 1000); diff --git a/clang-tools-extra/unittests/clangd/DexTests.cpp b/clang-tools-extra/unittests/clangd/DexTests.cpp index 6bf8111827e..560c23a27ea 100644 --- a/clang-tools-extra/unittests/clangd/DexTests.cpp +++ b/clang-tools-extra/unittests/clangd/DexTests.cpp @@ -666,7 +666,7 @@ TEST(DexTest, ProximityPathsBoosting) { TEST(DexTests, Refs) { DenseMap<SymbolID, std::vector<Ref>> Refs; - auto AddRef = [&](const Symbol& Sym, StringRef Filename, RefKind Kind) { + auto AddRef = [&](const Symbol &Sym, const char *Filename, RefKind Kind) { auto& SymbolRefs = Refs[Sym.ID]; SymbolRefs.emplace_back(); SymbolRefs.back().Kind = Kind; diff --git a/clang-tools-extra/unittests/clangd/FileIndexTests.cpp b/clang-tools-extra/unittests/clangd/FileIndexTests.cpp index a93b691bcbf..693b5cdaa88 100644 --- a/clang-tools-extra/unittests/clangd/FileIndexTests.cpp +++ b/clang-tools-extra/unittests/clangd/FileIndexTests.cpp @@ -31,6 +31,7 @@ using testing::ElementsAre; using testing::IsEmpty; using testing::Pair; using testing::UnorderedElementsAre; +using namespace llvm; MATCHER_P(RefRange, Range, "") { return std::make_tuple(arg.Location.Start.line(), arg.Location.Start.column(), @@ -38,12 +39,13 @@ MATCHER_P(RefRange, Range, "") { std::make_tuple(Range.start.line, Range.start.character, Range.end.line, Range.end.character); } -MATCHER_P(FileURI, F, "") { return arg.Location.FileURI == F; } -MATCHER_P(DeclURI, U, "") { return arg.CanonicalDeclaration.FileURI == U; } -MATCHER_P(DefURI, U, "") { return arg.Definition.FileURI == U; } +MATCHER_P(FileURI, F, "") { return StringRef(arg.Location.FileURI) == F; } +MATCHER_P(DeclURI, U, "") { + return StringRef(arg.CanonicalDeclaration.FileURI) == U; +} +MATCHER_P(DefURI, U, "") { return StringRef(arg.Definition.FileURI) == U; } MATCHER_P(QName, N, "") { return (arg.Scope + arg.Name).str() == N; } -using namespace llvm; namespace clang { namespace clangd { namespace { @@ -66,7 +68,7 @@ std::unique_ptr<SymbolSlab> numSlab(int Begin, int End) { return llvm::make_unique<SymbolSlab>(std::move(Slab).build()); } -std::unique_ptr<RefSlab> refSlab(const SymbolID &ID, StringRef Path) { +std::unique_ptr<RefSlab> refSlab(const SymbolID &ID, const char *Path) { RefSlab::Builder Slab; Ref R; R.Location.FileURI = Path; diff --git a/clang-tools-extra/unittests/clangd/IndexTests.cpp b/clang-tools-extra/unittests/clangd/IndexTests.cpp index 286941be763..a1fe9220ae5 100644 --- a/clang-tools-extra/unittests/clangd/IndexTests.cpp +++ b/clang-tools-extra/unittests/clangd/IndexTests.cpp @@ -36,7 +36,7 @@ MATCHER_P(RefRange, Range, "") { std::make_tuple(Range.start.line, Range.start.character, Range.end.line, Range.end.character); } -MATCHER_P(FileURI, F, "") { return arg.Location.FileURI == F; } +MATCHER_P(FileURI, F, "") { return StringRef(arg.Location.FileURI) == F; } TEST(SymbolLocation, Position) { using Position = SymbolLocation::Position; @@ -222,7 +222,7 @@ TEST(MergeTest, Merge) { Symbol M = mergeSymbol(L, R); EXPECT_EQ(M.Name, "Foo"); - EXPECT_EQ(M.CanonicalDeclaration.FileURI, "file:///left.h"); + EXPECT_EQ(StringRef(M.CanonicalDeclaration.FileURI), "file:///left.h"); EXPECT_EQ(M.References, 3u); EXPECT_EQ(M.Signature, "()"); EXPECT_EQ(M.CompletionSnippetSuffix, "{$1:0}"); @@ -241,14 +241,14 @@ TEST(MergeTest, PreferSymbolWithDefn) { R.Name = "right"; Symbol M = mergeSymbol(L, R); - EXPECT_EQ(M.CanonicalDeclaration.FileURI, "file:/left.h"); - EXPECT_EQ(M.Definition.FileURI, ""); + EXPECT_EQ(StringRef(M.CanonicalDeclaration.FileURI), "file:/left.h"); + EXPECT_EQ(StringRef(M.Definition.FileURI), ""); EXPECT_EQ(M.Name, "left"); R.Definition.FileURI = "file:/right.cpp"; // Now right will be favored. M = mergeSymbol(L, R); - EXPECT_EQ(M.CanonicalDeclaration.FileURI, "file:/right.h"); - EXPECT_EQ(M.Definition.FileURI, "file:/right.cpp"); + EXPECT_EQ(StringRef(M.CanonicalDeclaration.FileURI), "file:/right.h"); + EXPECT_EQ(StringRef(M.Definition.FileURI), "file:/right.cpp"); EXPECT_EQ(M.Name, "right"); } diff --git a/clang-tools-extra/unittests/clangd/SerializationTests.cpp b/clang-tools-extra/unittests/clangd/SerializationTests.cpp index af3290f0399..8b40cd66b80 100644 --- a/clang-tools-extra/unittests/clangd/SerializationTests.cpp +++ b/clang-tools-extra/unittests/clangd/SerializationTests.cpp @@ -111,7 +111,7 @@ TEST(SerializationTest, YAMLConversions) { EXPECT_EQ(Sym1.Signature, ""); EXPECT_EQ(Sym1.Documentation, "Foo doc"); EXPECT_EQ(Sym1.ReturnType, "int"); - EXPECT_EQ(Sym1.CanonicalDeclaration.FileURI, "file:///path/foo.h"); + EXPECT_EQ(StringRef(Sym1.CanonicalDeclaration.FileURI), "file:///path/foo.h"); EXPECT_EQ(Sym1.Origin, SymbolOrigin::Static); EXPECT_TRUE(Sym1.Flags & Symbol::IndexedForCodeCompletion); EXPECT_FALSE(Sym1.Flags & Symbol::Deprecated); @@ -122,7 +122,8 @@ TEST(SerializationTest, YAMLConversions) { EXPECT_THAT(Sym2, QName("clang::Foo2")); EXPECT_EQ(Sym2.Signature, "-sig"); EXPECT_EQ(Sym2.ReturnType, ""); - EXPECT_EQ(Sym2.CanonicalDeclaration.FileURI, "file:///path/bar.h"); + EXPECT_EQ(llvm::StringRef(Sym2.CanonicalDeclaration.FileURI), + "file:///path/bar.h"); EXPECT_FALSE(Sym2.Flags & Symbol::IndexedForCodeCompletion); EXPECT_TRUE(Sym2.Flags & Symbol::Deprecated); @@ -134,7 +135,7 @@ TEST(SerializationTest, YAMLConversions) { testing::SizeIs(1)))); auto Ref1 = ParsedYAML->Refs->begin()->second.front(); EXPECT_EQ(Ref1.Kind, RefKind::Reference); - EXPECT_EQ(Ref1.Location.FileURI, "file:///path/foo.cc"); + EXPECT_EQ(StringRef(Ref1.Location.FileURI), "file:///path/foo.cc"); } std::vector<std::string> YAMLFromSymbols(const SymbolSlab &Slab) { diff --git a/clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp b/clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp index 8596e4c1432..10c2a24d713 100644 --- a/clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp +++ b/clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp @@ -53,8 +53,10 @@ MATCHER_P(Snippet, S, "") { return (arg.Name + arg.CompletionSnippetSuffix).str() == S; } MATCHER_P(QName, Name, "") { return (arg.Scope + arg.Name).str() == Name; } -MATCHER_P(DeclURI, P, "") { return arg.CanonicalDeclaration.FileURI == P; } -MATCHER_P(DefURI, P, "") { return arg.Definition.FileURI == P; } +MATCHER_P(DeclURI, P, "") { + return StringRef(arg.CanonicalDeclaration.FileURI) == P; +} +MATCHER_P(DefURI, P, "") { return StringRef(arg.Definition.FileURI) == P; } MATCHER_P(IncludeHeader, P, "") { return (arg.IncludeHeaders.size() == 1) && (arg.IncludeHeaders.begin()->IncludeHeader == P); |

