少年修仙传客户端基础资源
hch
2024-04-01 d01413b00ef631ac20347716b23818b0b811f65f
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
#if ENABLE_UNIT_TESTS
 
#include "../../../external/Catch/catch.hpp"
 
#include <stdexcept>
#include "../../Clang/ClangSymbolParser.h"
 
using namespace mapfileparser;
 
TEST_CASE("ClangSymbolParser_ThrowsAnExceptionOnEmptyInput")
{
    REQUIRE_THROWS_AS(ClangSymbolParser::Parse(""), std::runtime_error);
}
 
TEST_CASE("ClangSymbolParser_ParsersA32BitSymbol")
{
    ClangSymbol clangSymbol = ClangSymbolParser::Parse(" 0x00001F40\t0x000000D0\t[  3] _U3CRegisterObjectU3Ec__AnonStorey2__ctor_m12113");
    REQUIRE(0x00001F40 == clangSymbol.symbol.start);
    REQUIRE(0x000000D0 == clangSymbol.symbol.length);
    REQUIRE("_U3CRegisterObjectU3Ec__AnonStorey2__ctor_m12113" == clangSymbol.symbol.name);
    REQUIRE(3 == clangSymbol.objectFileIndex);
}
 
TEST_CASE("ClangSymbolParser_ParsersA64BitSymbol")
{
    ClangSymbol clangSymbol = ClangSymbolParser::Parse(" 0x100EC9264\t0x0000004C\t[709] __ZNK5Umbra11TomeContext10getGateMapEPKv");
    REQUIRE(0x100EC9264 == clangSymbol.symbol.start);
    REQUIRE(0x0000004C == clangSymbol.symbol.length);
    REQUIRE("__ZNK5Umbra11TomeContext10getGateMapEPKv" == clangSymbol.symbol.name);
    REQUIRE(709 == clangSymbol.objectFileIndex);
}
 
#endif // ENABLE_UNIT_TESTS