clang-tools 20.0.0git
DumpRecordLayoutTests.cpp
Go to the documentation of this file.
1//===-- DumpRecordLayoutTests.cpp -------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "TweakTesting.h"
10#include "gmock/gmock.h"
11#include "gtest/gtest.h"
12
13using ::testing::AllOf;
14using ::testing::HasSubstr;
15using ::testing::StartsWith;
16
17namespace clang {
18namespace clangd {
19namespace {
20
21TWEAK_TEST(DumpRecordLayout);
22
23TEST_F(DumpRecordLayoutTest, Test) {
24 EXPECT_AVAILABLE("^s^truct ^X ^{ int x; ^};");
25 EXPECT_UNAVAILABLE("struct X { int ^a; };");
26 EXPECT_UNAVAILABLE("struct ^X;");
27 EXPECT_UNAVAILABLE("template <typename T> struct ^X { T t; };");
28 EXPECT_UNAVAILABLE("enum ^X {};");
29
30 EXPECT_THAT(apply("struct ^X { int x; int y; };"),
31 AllOf(StartsWith("message:"), HasSubstr("0 | int x")));
32}
33
34} // namespace
35} // namespace clangd
36} // namespace clang
#define TWEAK_TEST(TweakID)
Definition: TweakTesting.h:107
#define EXPECT_AVAILABLE(MarkedCode)
Definition: TweakTesting.h:123
#define EXPECT_UNAVAILABLE(MarkedCode)
Definition: TweakTesting.h:124
TEST_F(BackgroundIndexTest, NoCrashOnErrorFile)
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//