llvm/clang-tools-extra/unittests/clang-doc/SerializeTest.cpp

//===-- clang-doc/SerializeTest.cpp ---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "Serialize.h"
#include "ClangDocTest.h"
#include "Representation.h"
#include "clang/AST/Comment.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "gtest/gtest.h"

namespace clang {
namespace doc {

class ClangDocSerializeTestVisitor
    : public RecursiveASTVisitor<ClangDocSerializeTestVisitor> {};

void ExtractInfosFromCode(StringRef Code, size_t NumExpectedInfos, bool Public,
                          EmittedInfoList &EmittedInfos) {}

void ExtractInfosFromCodeWithArgs(StringRef Code, size_t NumExpectedInfos,
                                  bool Public, EmittedInfoList &EmittedInfos,
                                  std::vector<std::string> &Args) {}

// Constructs a comment definition as the parser would for one comment line.
/* TODO uncomment this when the missing comment is fixed in emitRecordInfo and
   the code that calls this is re-enabled.
CommentInfo MakeOneLineCommentInfo(const std::string &Text) {
  CommentInfo TopComment;
  TopComment.Kind = "FullComment";
  TopComment.Children.emplace_back(std::make_unique<CommentInfo>());

  CommentInfo *Brief = TopComment.Children.back().get();
  Brief->Kind = "ParagraphComment";

  Brief->Children.emplace_back(std::make_unique<CommentInfo>());
  Brief->Children.back()->Kind = "TextComment";
  Brief->Children.back()->Name = "ParagraphComment";
  Brief->Children.back()->Text = Text;

  return TopComment;
}
*/

// Test serialization of namespace declarations.
TEST(SerializeTest, emitNamespaceInfo) {}

TEST(SerializeTest, emitAnonymousNamespaceInfo) {}

// Test serialization of record declarations.
TEST(SerializeTest, emitRecordInfo) {}

// Test serialization of enum declarations.
TEST(SerializeTest, emitEnumInfo) {}

TEST(SerializeTest, emitUndefinedRecordInfo) {}

TEST(SerializeTest, emitRecordMemberInfo) {}

TEST(SerializeTest, emitInternalRecordInfo) {}

TEST(SerializeTest, emitPublicAnonymousNamespaceInfo) {}

TEST(SerializeTest, emitPublicFunctionInternalInfo) {}

TEST(SerializeTest, emitInlinedFunctionInfo) {}

TEST(SerializeTest, emitInheritedRecordInfo) {}

TEST(SerializeTest, emitModulePublicLFunctions) {}

// Test serialization of child records in namespaces and other records
TEST(SerializeTest, emitChildRecords) {}

// Test serialization of child namespaces
TEST(SerializeTest, emitChildNamespaces) {}

TEST(SerializeTests, emitTypedefs) {}

TEST(SerializeTests, emitFunctionTemplate) {}

TEST(SerializeTests, emitClassTemplate) {}

} // namespace doc
} // end namespace clang