brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 5486903 Raw
57 lines · cpp
1//===-- DataBufferTest.cpp ------------------------------------------------===//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 "gtest/gtest.h"10 11#include "lldb/Utility/DataBuffer.h"12#include "lldb/Utility/DataBufferHeap.h"13#include "lldb/Utility/DataBufferLLVM.h"14 15#include "llvm/Support/Casting.h"16#include "llvm/Support/MemoryBuffer.h"17 18using namespace lldb_private;19using namespace lldb;20 21TEST(DataBufferTest, RTTI) {22  {23    DataBufferSP data_buffer_sp = std::make_shared<DataBufferHeap>();24    DataBuffer *data_buffer = data_buffer_sp.get();25 26    EXPECT_TRUE(llvm::isa<DataBuffer>(data_buffer));27    EXPECT_TRUE(llvm::isa<WritableDataBuffer>(data_buffer));28    EXPECT_TRUE(llvm::isa<DataBufferHeap>(data_buffer));29    EXPECT_FALSE(llvm::isa<DataBufferLLVM>(data_buffer));30  }31 32  {33    llvm::StringRef data;34    DataBufferSP data_buffer_sp = std::make_shared<DataBufferLLVM>(35        llvm::MemoryBuffer::getMemBufferCopy(data));36    DataBuffer *data_buffer = data_buffer_sp.get();37 38    EXPECT_TRUE(llvm::isa<DataBuffer>(data_buffer));39    EXPECT_TRUE(llvm::isa<DataBufferLLVM>(data_buffer));40    EXPECT_FALSE(llvm::isa<WritableDataBuffer>(data_buffer));41    EXPECT_FALSE(llvm::isa<WritableDataBufferLLVM>(data_buffer));42    EXPECT_FALSE(llvm::isa<DataBufferHeap>(data_buffer));43  }44 45  {46    DataBufferSP data_buffer_sp = std::make_shared<WritableDataBufferLLVM>(47        llvm::WritableMemoryBuffer::getNewMemBuffer(1));48    DataBuffer *data_buffer = data_buffer_sp.get();49 50    EXPECT_TRUE(llvm::isa<DataBuffer>(data_buffer));51    EXPECT_TRUE(llvm::isa<WritableDataBuffer>(data_buffer));52    EXPECT_TRUE(llvm::isa<WritableDataBufferLLVM>(data_buffer));53    EXPECT_FALSE(llvm::isa<DataBufferLLVM>(data_buffer));54    EXPECT_FALSE(llvm::isa<DataBufferHeap>(data_buffer));55  }56}57