1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
//===-- MangledTest.cpp -----------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "gtest/gtest.h"
#include "lldb/Core/Mangled.h"
using namespace lldb;
using namespace lldb_private;
TEST(MangledTest, ResultForValidName) {
ConstString MangledName("_ZN1a1b1cIiiiEEvm");
bool IsMangled = true;
Mangled TheMangled(MangledName, IsMangled);
const ConstString &TheDemangled =
TheMangled.GetDemangledName(eLanguageTypeC_plus_plus);
ConstString ExpectedResult("void a::b::c<int, int, int>(unsigned long)");
EXPECT_STREQ(ExpectedResult.GetCString(), TheDemangled.GetCString());
}
TEST(MangledTest, EmptyForInvalidName) {
ConstString MangledName("_ZN1a1b1cmxktpEEvm");
bool IsMangled = true;
Mangled TheMangled(MangledName, IsMangled);
const ConstString &TheDemangled =
TheMangled.GetDemangledName(eLanguageTypeC_plus_plus);
EXPECT_STREQ("", TheDemangled.GetCString());
}
|