brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · fb0eda2 Raw
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