10 #include "gtest/gtest.h" 16 TEST(CanonicalIncludesTest, CStandardLibrary) {
18 auto Language = LangOptions();
22 EXPECT_EQ(
"<stdio.h>", CI.mapHeader(
"path/stdio.h",
"printf"));
25 TEST(CanonicalIncludesTest, CXXStandardLibrary) {
27 auto Language = LangOptions();
28 Language.CPlusPlus =
true;
32 EXPECT_EQ(
"<vector>", CI.mapHeader(
"path/vector.h",
"std::vector"));
33 EXPECT_EQ(
"<cstdio>", CI.mapHeader(
"path/stdio.h",
"std::printf"));
35 EXPECT_EQ(
"<utility>", CI.mapHeader(
"libstdc++/bits/move.h",
"std::move"));
36 EXPECT_EQ(
"path/utility.h", CI.mapHeader(
"path/utility.h",
"std::move"));
38 EXPECT_EQ(
"foo/bar.h", CI.mapHeader(
"foo/bar.h",
"std::notathing"));
40 EXPECT_EQ(
"<ostream>", CI.mapHeader(
"iosfwd",
"std::ostream"));
42 EXPECT_EQ(
"<iosfwd>", CI.mapHeader(
"iosfwd",
"std::notwathing"));
45 TEST(CanonicalIncludesTest, PathMapping) {
48 CI.addMapping(
"foo/bar",
"<baz>");
50 EXPECT_EQ(
"<baz>", CI.mapHeader(
"foo/bar",
"some::symbol"));
51 EXPECT_EQ(
"bar/bar", CI.mapHeader(
"bar/bar",
"some::symbol"));
54 TEST(CanonicalIncludesTest, SymbolMapping) {
57 CI.addSymbolMapping(
"some::symbol",
"<baz>");
59 EXPECT_EQ(
"<baz>", CI.mapHeader(
"foo/bar",
"some::symbol"));
60 EXPECT_EQ(
"foo/bar", CI.mapHeader(
"foo/bar",
"other::symbol"));
63 TEST(CanonicalIncludesTest, Precedence) {
65 CI.addMapping(
"some/path",
"<path>");
66 CI.addSymbolMapping(
"some::symbol",
"<symbol>");
69 EXPECT_EQ(
"<symbol>", CI.mapHeader(
"some/path",
"some::symbol"));
void addSystemHeadersMapping(CanonicalIncludes *Includes, const LangOptions &Language)
Adds mapping for system headers and some special symbols (e.g.
TEST(BackgroundQueueTest, Priority)
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//