36 lines · cpp
1//===-- DumpASTTests.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(DumpAST);22 23TEST_F(DumpASTTest, Test) {24 EXPECT_AVAILABLE("^int f^oo() { re^turn 2 ^+ 2; }");25 EXPECT_UNAVAILABLE("/*c^omment*/ int foo() { return 2 ^ + 2; }");26 EXPECT_THAT(apply("int x = 2 ^+ 2;"),27 AllOf(StartsWith("message:"), HasSubstr("BinaryOperator"),28 HasSubstr("'+'"), HasSubstr("|-IntegerLiteral"),29 HasSubstr("<col:9> 'int' 2\n`-IntegerLiteral"),30 HasSubstr("<col:13> 'int' 2")));31}32 33} // namespace34} // namespace clangd35} // namespace clang36