15934a791SAdam Czachorowski //===-- DumpRecordLayoutTests.cpp -------------------------------*- C++ -*-===// 25934a791SAdam Czachorowski // 35934a791SAdam Czachorowski // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 45934a791SAdam Czachorowski // See https://llvm.org/LICENSE.txt for license information. 55934a791SAdam Czachorowski // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 65934a791SAdam Czachorowski // 75934a791SAdam Czachorowski //===----------------------------------------------------------------------===// 85934a791SAdam Czachorowski 95934a791SAdam Czachorowski #include "TweakTesting.h" 105934a791SAdam Czachorowski #include "gmock/gmock.h" 115934a791SAdam Czachorowski #include "gtest/gtest.h" 125934a791SAdam Czachorowski 135934a791SAdam Czachorowski using ::testing::AllOf; 145934a791SAdam Czachorowski using ::testing::HasSubstr; 155934a791SAdam Czachorowski using ::testing::StartsWith; 165934a791SAdam Czachorowski 175934a791SAdam Czachorowski namespace clang { 185934a791SAdam Czachorowski namespace clangd { 195934a791SAdam Czachorowski namespace { 205934a791SAdam Czachorowski 215934a791SAdam Czachorowski TWEAK_TEST(DumpRecordLayout); 225934a791SAdam Czachorowski TEST_F(DumpRecordLayoutTest,Test)235934a791SAdam CzachorowskiTEST_F(DumpRecordLayoutTest, Test) { 245934a791SAdam Czachorowski EXPECT_AVAILABLE("^s^truct ^X ^{ int x; ^};"); 25*4b76ba88SSam McCall EXPECT_UNAVAILABLE("struct X { int ^a; };"); 26*4b76ba88SSam McCall EXPECT_UNAVAILABLE("struct ^X;"); 27*4b76ba88SSam McCall EXPECT_UNAVAILABLE("template <typename T> struct ^X { T t; };"); 28*4b76ba88SSam McCall EXPECT_UNAVAILABLE("enum ^X {};"); 295934a791SAdam Czachorowski 305934a791SAdam Czachorowski EXPECT_THAT(apply("struct ^X { int x; int y; };"), 315934a791SAdam Czachorowski AllOf(StartsWith("message:"), HasSubstr("0 | int x"))); 325934a791SAdam Czachorowski } 335934a791SAdam Czachorowski 345934a791SAdam Czachorowski } // namespace 355934a791SAdam Czachorowski } // namespace clangd 365934a791SAdam Czachorowski } // namespace clang 37