37 lines · cpp
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-exception6//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} // namespace35} // namespace clangd36} // namespace clang37