summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp')
-rw-r--r--clang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp b/clang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp
index 9fd7884103e..468c353d0e4 100644
--- a/clang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp
+++ b/clang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp
@@ -13,12 +13,24 @@ namespace clang {
namespace clangd {
namespace {
+TEST(CanonicalIncludesTest, CStandardLibrary) {
+ CanonicalIncludes CI;
+ auto Language = LangOptions();
+ Language.C11 = true;
+ addSystemHeadersMapping(&CI, Language);
+ // Usual standard library symbols are mapped correctly.
+ EXPECT_EQ("<stdio.h>", CI.mapHeader("path/stdio.h", "printf"));
+}
+
TEST(CanonicalIncludesTest, CXXStandardLibrary) {
CanonicalIncludes CI;
- addSystemHeadersMapping(&CI);
+ auto Language = LangOptions();
+ Language.CPlusPlus = true;
+ addSystemHeadersMapping(&CI, Language);
// Usual standard library symbols are mapped correctly.
EXPECT_EQ("<vector>", CI.mapHeader("path/vector.h", "std::vector"));
+ EXPECT_EQ("<cstdio>", CI.mapHeader("path/stdio.h", "std::printf"));
// std::move is ambiguous, currently mapped only based on path
EXPECT_EQ("<utility>", CI.mapHeader("libstdc++/bits/move.h", "std::move"));
EXPECT_EQ("path/utility.h", CI.mapHeader("path/utility.h", "std::move"));
OpenPOWER on IntegriCloud