//===-- DataBufferTest.cpp ------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "gtest/gtest.h" #include "lldb/Utility/DataBuffer.h" #include "lldb/Utility/DataBufferHeap.h" #include "lldb/Utility/DataBufferLLVM.h" #include "llvm/Support/Casting.h" #include "llvm/Support/MemoryBuffer.h" using namespace lldb_private; using namespace lldb; TEST(DataBufferTest, RTTI) { { DataBufferSP data_buffer_sp = std::make_shared(); DataBuffer *data_buffer = data_buffer_sp.get(); EXPECT_TRUE(llvm::isa(data_buffer)); EXPECT_TRUE(llvm::isa(data_buffer)); EXPECT_TRUE(llvm::isa(data_buffer)); EXPECT_FALSE(llvm::isa(data_buffer)); } { llvm::StringRef data; DataBufferSP data_buffer_sp = std::make_shared( llvm::MemoryBuffer::getMemBufferCopy(data)); DataBuffer *data_buffer = data_buffer_sp.get(); EXPECT_TRUE(llvm::isa(data_buffer)); EXPECT_TRUE(llvm::isa(data_buffer)); EXPECT_FALSE(llvm::isa(data_buffer)); EXPECT_FALSE(llvm::isa(data_buffer)); EXPECT_FALSE(llvm::isa(data_buffer)); } { DataBufferSP data_buffer_sp = std::make_shared( llvm::WritableMemoryBuffer::getNewMemBuffer(1)); DataBuffer *data_buffer = data_buffer_sp.get(); EXPECT_TRUE(llvm::isa(data_buffer)); EXPECT_TRUE(llvm::isa(data_buffer)); EXPECT_TRUE(llvm::isa(data_buffer)); EXPECT_FALSE(llvm::isa(data_buffer)); EXPECT_FALSE(llvm::isa(data_buffer)); } }