| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | #include "test_macros.h" |
| | #include "demangle.h" |
| | #include <typeinfo> |
| | #include <cassert> |
| |
|
| | struct MyType {}; |
| |
|
| | template <class T, class U> struct ArgumentListID {}; |
| |
|
| | int main(int, char**) { |
| | struct { |
| | const char* raw; |
| | const char* expect; |
| | } TestCases[] = { |
| | {typeid(int).name(), "int"}, |
| | {typeid(MyType).name(), "MyType"}, |
| | {typeid(ArgumentListID<int, MyType>).name(), "ArgumentListID<int, MyType>"} |
| | }; |
| | const size_t size = sizeof(TestCases) / sizeof(TestCases[0]); |
| | for (size_t i=0; i < size; ++i) { |
| | const char* raw = TestCases[i].raw; |
| | const char* expect = TestCases[i].expect; |
| | #ifdef TEST_HAS_NO_DEMANGLE |
| | assert(demangle(raw) == raw); |
| | ((void)expect); |
| | #else |
| | assert(demangle(raw) == expect); |
| | #endif |
| | } |
| |
|
| | return 0; |
| | } |
| |
|